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