我现在学自定义函数,按照书中介绍的实践函数的递归调用,脚本如下:
function step_fun($value)
{
for($i = 0; $i < 8; $i++)
{
$value += $value; if($i == 3)
{
return $value;
}
else
{
step_fun($value);
}
}
} echo '<br />'.step_fun(1);
运行后出现下面的提示信息,大致意思是内在的使用范围超出,但不知是什么原因,请知道的高手,告诉一下,谢谢。
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 261900 bytes)
function step_fun($value)
{
for($i = 0; $i < 8; $i++)
{
$value += $value; if($i == 3)
{
return $value;
}
else
{
step_fun($value);
}
}
} echo '<br />'.step_fun(1);
运行后出现下面的提示信息,大致意思是内在的使用范围超出,但不知是什么原因,请知道的高手,告诉一下,谢谢。
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 261900 bytes)
改法:global $i=0;
for(;$i<8;$i++){
....
}
其他的不变