这不会返回任何内容:
<?php
function cc($i=0) {
if ($i >= 2) {
return $i;
}
cc($i+1);
}
echo cc(0);
但是回声它完美地运作:
<?php
function cc($i=0)
{
echo $i;
if($i>=2) {
return $i;
}
cc($i+1);
}
echo cc(0);
看起来很安全,但我很确定背后有合理的解释:)
答案 0 :(得分:1)
它没有返回任何内容,因为你错过了递归调用中的返回。使用此:
function cc($i=0) {
if($i>=2){
return $i;
}
return cc($i+1);
}
使用三元运算符:
function cc($i=0) {
return $i>=2 ? $i : cc($i+1);
}