<?php
$n = 3;
$x = array();
function Try1($i){
foreach(array(0,1) as $j){
$x[$i] = $j;
if($i==$n-1){
print_r($x);
}else{
Try1($i+1);
}
}
}
Try1(0);
?>
我上面写了一段代码,但是当我运行时遇到错误:致命错误:第5行的BinaryStrings.php中允许的内存大小为134217728字节(试图分配24个字节)。
我在python中写了一个类似的版本,它有用,你能帮助我吗?谢谢^^。
答案 0 :(得分:2)
变量$x
和$n
与其余代码的范围不同。它们在函数外部定义而不是传递给它,因此它们不存在于函数内部。函数内部$n-1
因此等于-1
,您的代码将进入无限循环。这就是为什么你a)打开错误报告和b)使用<
或>
而不是==
的条件。