-2

这只是一个好奇的问题,我不知道如何通过谷歌搜索。

一些函数是这样的:

function foo()
{
    $bar = 'Hello World';

    return;
}

什么retun;会返回?这有点荒谬。

4

5 回答 5

5

注意:如果没有提供参数,则必须省略括号NULL并将返回。带括号但不带参数的调用return将导致解析错误。

http://www.php.net/return

于 2012-09-11T10:07:42.100 回答
4

它确实返回null。如果return在没有任何变量或值的情况下调用return将返回null.

PHP手册页的注释

如果未提供参数,则必须省略括号并返回 NULL。使用括号但没有参数调用 return() 将导致解析错误。

于 2012-09-11T10:06:49.203 回答
0

return将简单地将控制权返回给调用该函数的人,并返回一个NULL值。所以,如果你有这段代码

function bar()
{
  echo 'bar';
  $a = foo();
  echo 'foobar';
}

首先它打印'bar'字符串,然后将控制权传递给foo()分配给(本地)$bar变量'Hello World'字符串值的函数。然后这个变量被销毁(你退出函数)并且控制返回给bar()函数。之后显示一个'foobar'字符串。
注意a会有一个NULL

于 2012-09-11T10:08:38.147 回答
0

如果你正在使用

function foo()
{
    $bar = 'Hello World';

    return;
}
echo $temp=foo();

比它返回NULL 值

如果你正在使用

function foo()
{
    $bar = 'Hello World';

    return $bar;
}

    echo $temp=foo();

比它返回 Hello World 。

于 2012-09-11T10:12:49.713 回答
0

你可以很容易地弄清楚这一点:

function foo()
{
    $bar = 'Hello World';

    return;
}

var_dump( foo() );
于 2012-09-11T10:14:19.060 回答