return($var);
和 return $var;
除了用括号包裹变量以外,还有什么区别吗?
return($var);
和 return $var;
除了用括号包裹变量以外,还有什么区别吗?
除非你是通过引用返回值,否则它们的含义相同。最好省略括号。来自文档:
注意:由于
return()
是语言结构而不是函数,因此不需要括号。通常将其省略,实际上应该这样做,因为在这种情况下PHP要做的工作更少。
注意:当通过引用返回值时,您不应在返回变量周围使用括号,因为这样不起作用。只能通过引用返回变量,而不能返回语句的结果。如果使用
return ($a)
; 那么你返回的不是一个变量,而是表达式($a)
的结果(当然,这是$a
的值)。
编辑: 这意味着“返回引用时,不应该在返回变量周围加上括号,因为这样无法工作。您只能引用返回变量,而不能引用语句的结果。如果使用return ($a);那么你返回的不是一个变量,而是表达式($a)的结果(当然,这是$a的值)。"
return($var)
和return $var
之间存在差异。具体来说,前者将返回$var
的值,而后者将返回$var
本身。是的。如果您使用括号,它将变成PHP必须先解决的表达式,这是浪费了一些CPU周期。此外,您不能使用return($var);
通过引用返回,只能使用return $var;
所有这些都在手册中清楚说明。
这是一种语言结构,而不是函数,因此两者的工作方式几乎相同。然而有两个区别。引用php.net:
如果没有提供参数,则必须省略括号并返回NULL。带有括号但没有参数调用return()将导致解析错误。
和
当通过引用返回时,永远不应该在返回变量周围使用括号,因为这样不起作用。您只能通过引用返回变量,而不能返回语句的结果。如果使用return($a);那么您返回的不是变量,而是表达式($a)的结果(当然,这是$a的值)。
来源:php.net
return array($val,$valb);
这个例子与您最初的问题不同,但这是我认为需要括号的唯一情况。
return ($var ? 'yep' : 'no');
但大多数情况下我会省略括号。 - Zack
echo
吗? - Josh Kecho "Hello", $person->name, " !";
吗? - Josh K