我想指定一些位,然后在PHP中得到一个包含这些位的每个可能组合的数组.
例:
number: 3
000
001
010
011
etc...
Run Code Online (Sandbox Code Playgroud)
我尝试过最初为字符串设计的递归算法,因此算法太慢了.
最有效的方法是什么?
关于位的好处是你可以用它们做很简单的事情.如果你想要3位,你将有7个数字,恰好是8-1.如果你想要4位,你将有15个数字,恰好是16-1.使用这个好的事实使你的代码变得简单.
$bits = 4;
$max = (1 << $bits);
for ($i = 0; i < $max; $i++) {
// Use $i
// echo str_pad(decbin($i), $bits, '0', STR_PAD_LEFT);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1459 次 |
| 最近记录: |