这只是一个好奇的问题,我不知道如何通过谷歌搜索。
一些函数是这样的:
function foo()
{
$bar = 'Hello World';
return;
}
什么retun;
会返回?这有点荒谬。
注意:如果没有提供参数,则必须省略括号
NULL
并将返回。带括号但不带参数的调用return
将导致解析错误。
它确实返回null
。如果return
在没有任何变量或值的情况下调用return
将返回null
.
PHP手册页的注释
如果未提供参数,则必须省略括号并返回 NULL。使用括号但没有参数调用 return() 将导致解析错误。
return
将简单地将控制权返回给调用该函数的人,并返回一个NULL
值。所以,如果你有这段代码
function bar()
{
echo 'bar';
$a = foo();
echo 'foobar';
}
首先它打印'bar'
字符串,然后将控制权传递给foo()
分配给(本地)$bar
变量'Hello World'
字符串值的函数。然后这个变量被销毁(你退出函数)并且控制返回给bar()
函数。之后显示一个'foobar'
字符串。
注意a
会有一个NULL
值
如果你正在使用
function foo()
{
$bar = 'Hello World';
return;
}
echo $temp=foo();
比它返回NULL 值
如果你正在使用
function foo()
{
$bar = 'Hello World';
return $bar;
}
echo $temp=foo();
比它返回 Hello World 。
你可以很容易地弄清楚这一点:
function foo()
{
$bar = 'Hello World';
return;
}
var_dump( foo() );