PHP字符串排列
假设我有一个由“a-zA-Z0-9”范围内的字符组成的数组。我想要做的是获得 4 个字母范围内所有可能的组合。字符串中的字符可以重复。我正在寻找一种暴力的方法来做到这一点。
这就是我相信迭代的方式:
“aaaa” “啊啊” “啊啊啊” ... “9999”
Let's say I have an array consisting of characters from these ranges "a-zA-Z0-9". What I want to do is get all possible combinations possible in a 4-letter range. Characters can be repeated in the string. I'm looking for a brute-force way to do it.
This is how I believe the iteration would be:
"aaaa"
"aaab"
"aaac"
...
"9999"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
以暴力方式:
您最终会得到一个大数组,因此您可能希望将一些数据库操作散布到其中一个循环中,这样 $strings 就不会变得太大并通过命中内存来杀死您的脚本限制。
In brute-force fashion:
You'll end up with a honkin' big array, so you might want to sprinkle some database operations into one of the loops, so $strings doesn't get too big and kill your script by hitting a memory limit.
要随机访问,您可以使用base_convert:
或者如果您的基数大于36(您有超过36个字符),则
可以使用manuel进行迭代,您可以使用:
这种方法不如蛮力方法那么快。
问候托马斯
to random access you can use base_convert:
or manuel if your base is larger then 36 (you have more then 36 Chars)
to iterate you can use:
this way is not that fast as the brute force methode.
Regards Thomas