function myTest($bin) {
static $counter = 0;
if ($bin == 0) {
// echo $counter; // prints 6
return $counter;
}
$rem = $bin % 2;
if($rem == 0) {
$counter++;
$bin = $bin / 2;
myTest($bin);
} else {
$counter++;
$bin = $bin - 1;
myTest($bin);
}
}
$test = mytest(11);
var_dump($test); // return NULL
答案 0 :(得分:1)
编写递归函数时,必须"返回"递归调用,如
return myTest($bin);
如果没有返回递归调用,对函数的原始调用不会返回任何内容。所以,$ test为null(没有返回)。