PHP 调用自身的函数不会 return 任何东西
PHP Function that call itself does not return anything
这没有返回任何东西:
<?php
function cc($i=0) {
if ($i >= 2) {
return $i;
}
cc($i+1);
}
echo cc(0);
但是有了 echo,它工作得很好:
<?php
function cc($i=0)
{
echo $i;
if($i>=2) {
return $i;
}
cc($i+1);
}
echo cc(0);
在我看来很奇怪,但我很确定这背后有一个合乎逻辑的解释:)
它没有 return 任何东西,因为您在递归调用中错过了 return。使用这个:
function cc($i=0) {
if($i>=2){
return $i;
}
return cc($i+1);
}
使用三元运算符:
function cc($i=0) {
return $i>=2 ? $i : cc($i+1);
}
这没有返回任何东西:
<?php
function cc($i=0) {
if ($i >= 2) {
return $i;
}
cc($i+1);
}
echo cc(0);
但是有了 echo,它工作得很好:
<?php
function cc($i=0)
{
echo $i;
if($i>=2) {
return $i;
}
cc($i+1);
}
echo cc(0);
在我看来很奇怪,但我很确定这背后有一个合乎逻辑的解释:)
它没有 return 任何东西,因为您在递归调用中错过了 return。使用这个:
function cc($i=0) {
if($i>=2){
return $i;
}
return cc($i+1);
}
使用三元运算符:
function cc($i=0) {
return $i>=2 ? $i : cc($i+1);
}