php中的$ var和($ var)有什么区别?

时间:2018-04-21 06:31:35

标签: php return expression

与此相关:

http://php.net/manual/en/function.return.php

  

在通过引用返回时,不应该在返回变量周围使用括号,因为这不起作用。您只能通过引用返回变量,而不能返回语句的结果。如果你使用return($ a);然后你不会返回一个变量,而是返回表达式的结果($ a)(当然,这是$ a的值)。

我确实理解了这个音符在说什么,但是括号中的变量变成了语句/表达式? $ var和($ var)之间的其他差异(以及与此相关的任何方面)是什么?

($ var)的值与$ var?

的值不同

1 个答案:

答案 0 :(得分:0)

当您将一个变量放在括号中时,它将成为一个表达式,其值是变量的内容。

如果您尝试通过引用分配,这只会产生影响。引用创建一个别名,将两个变量相互链接,因此如果只有变量的内容,它就不起作用。

所以,如果你有这样的功能:

function &ret_by_reference() {
    $var = "something";
    return $var; // correct
    return ($var); // incorrect
}

函数语句中的&表示它通过引用返回变量。