【问题标题】:What is the difference between $var and ($var) in php? [duplicate]php中的$var和($var)有什么区别? [复制]
【发布时间】:2018-04-21 06:31:34
【问题描述】:

与此相关:

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

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

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

($var) 的值与 $var 的值不同?

【问题讨论】:

  • 你昨天问了同样的问题,有什么原因吗?
  • 下次不要接受不回答问题的答案。

标签: php return expression


【解决方案1】:

当你把一个变量放在括号中时,它就变成了一个表达式,其值为变量的内容。

这只有在您尝试通过引用分配时才会有所不同。引用创建了一个别名,将两个变量相互链接,所以如果你只有变量的内容,它就不起作用。

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

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

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

【讨论】:

  • 非常感谢您提供的信息。更多内容在这里 - stackoverflow.com/questions/49935313/…
  • 而且“$var”(无括号)的值与“变量的内容”不同?
  • 当你通过引用赋值时,它变成了变量本身的链接。
  • 你了解什么是引用吗?如果没有,您可能应该了解 PHP 文档的那部分。
猜你喜欢
  • 1970-01-01
  • 2011-06-01
  • 1970-01-01
  • 2019-09-21
  • 2018-12-07
  • 1970-01-01
  • 1970-01-01
  • 2013-06-28
  • 2017-08-16
相关资源
最近更新 更多