1 function foo($i){
2 return bar($i)*4;
3 function bar($i){
4 return $i*4;
5 }
6 }
7 echo foo(4);
Run Code Online (Sandbox Code Playgroud)
返回
Fatal error: Call to undefined function bar() in /var/www/index.php on line 2
Run Code Online (Sandbox Code Playgroud)
为什么不起作用?它在javascript中工作得很好,而当我这样做时它可以工作:
function foo($i){
return bar($i)*4;
}
function bar($i){
return $i*4;
}
Run Code Online (Sandbox Code Playgroud)
Per*_*rcy 18
将函数定义在返回值之上,否则永远不会执行.
<?php
function foo($i){
function bar($i){
return $i*4;
}
return bar($i)*4;
}
echo foo(4);
?>
Run Code Online (Sandbox Code Playgroud)