代码冻结中途 - PHP

时间:2012-10-15 06:20:54

标签: php

我有这个相对复杂的组合和排列代码,我必须在CLI中执行。代码将数字作为命令行参数,然后输出所有唯一组合的所有排列的列表。数组是由空格分隔的数字串。

如果N为6或更小,代码效果很好。甚至7.然而,当我通过n = 8时,代码只是冻结,它停止并且不会继续前进。

如何解决这个问题,以便N可以为8。

N永远不会大于8,但代码必须能够以8执行。

这是代码

    for ($i=0; count($list) < $nop; $i++) {
        shuffle($array);
        $tmp = implode(' ', $array);
            if (!isset($list[$tmp])) {
                $list[$tmp] = 1;
    }}

提前感谢所有建议。

1 个答案:

答案 0 :(得分:2)

for ($i=0; count($list) < $nop; $i++) {

导致无限循环。在循环中,$list$nop的大小不会改变,所以如果count($list) < $nop为真,那么它将是一个无限循环。