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);
}