Есть ли разница между return($var);
и return $var;
другой, затем обертывая его в круглые скобки?
Если вы не возвращаетесь по ссылке , они означают одно и то же. Предпочтительно исключать круглые скобки. Из документов :
Примечание. Обратите внимание: поскольку
return()
является конструкцией языка, а не функцией, скобки, окружающие его аргументы, не требуются. Обычно их оставляют, и вы на самом деле должны это делать, поскольку PHP в этом случае меньше работы.
Примечание. Вы не должны использовать круглые скобки вокруг возвращаемой переменной при возврате по ссылке, так как это не сработает. Вы можете возвращать переменные только по ссылке, а не по результату инструкции. Если вы используете
return ($a)
; то вы не возвращаете переменную, а результат выражения($a)
(это, конечно же, значение$a
).
Из руководства PHP :
«Вы никогда не должны использовать круглые скобки вокруг возвращаемой переменной при возврате по ссылке, так как это не сработает. Вы можете возвращать переменные только по ссылке, а не результат инструкции. Если вы используете return ($ a), то вы не возвращая переменную, но результат выражения ($ a) (что, конечно, имеет значение $ a) ".
Изменить: это означает, что существует разница между return($var)
и return $var
. В частности, первый будет возвращать значение $var
а последний вернет $var
.
Обратите внимание, что поскольку return () является конструкцией языка, а не функцией, скобки, окружающие его аргументы, не требуются. Обычно их оставляют, и вы на самом деле должны это делать, поскольку PHP в этом случае меньше работы.
Вы не должны использовать круглые скобки вокруг возвращаемой переменной при возврате по ссылке , так как это не сработает. Вы можете возвращать переменные только по ссылке, а не по результату инструкции. Если вы используете return ($ a); то вы не возвращаете переменную, а результат выражения ($ a) (это, конечно же, значение $ a).
( Источник )
Единственный раз, когда я использую круглые скобки, является возврат двух значений с помощью массива.
return array($val,$valb);
Этот пример отличается от вашего начального вопроса, однако это единственный экземпляр, где, как мне кажется, требуется скобка.
Да. Если вы используете скобки, это станет выражением, которое PHP должен будет решить первым, что является пустой тратой нескольких циклов процессора. Кроме того, вы не можете вернуться по ссылке, используя return($var);
, только используя return $var;
Все это четко указано в руководстве .
Это языковая конструкция, а не функция, поэтому обе работают почти одинаково. Есть два отличия. Цитирование php.net:
Если параметр не задан, скобки должны быть опущены и NULL будет возвращен. Вызов return () с круглыми скобками, но без аргументов приведет к ошибке синтаксического анализа.
а также
Вы не должны использовать круглые скобки вокруг возвращаемой переменной при возврате по ссылке, так как это не сработает. Вы можете возвращать переменные только по ссылке, а не по результату инструкции. Если вы используете return ($ a); то вы не возвращаете переменную, а результат выражения ($ a) (это, конечно же, значение $ a).
Источник: php.net