Я знаю, что для объединения строк в php нужно использовать точку:
echo 'hello' . ' world'; // hello world
Но, кстати, я набрал:любые ошибки.
Почему это так?Можем ли мы также объединить запятыми?
Это задокументировано в записи для echo:
echo
void echo (строка $ arg1 [, строка $ ...])
Эти две формы на самом деле не эквивалентны, поскольку в момент оценивания функций существует разница .
Нет, вы не можете объединить запятыми:
<?php $foo = 'One', 'Two'; ?>
Ошибка разбора: синтаксическая ошибка, неожиданная ''
echo - языковая конструкция. В некотором смысле это специальная функция, которая определена на уровне грамматики (я могу ошибаться в этом). Это функция, которая каким-то образом не следует ни одному из определенных способов определения функции / метода в качестве примера и способа их вызова. Это «обходит» некоторую проверку синтаксиса:)
В StackOverflow есть хороший пост, в котором обсуждается разница между языковой конструкцией и встроенными функциями .
Это не скрытый трюк, это только то, как работает эхо. Если вы посмотрите справочные документы по PHP для echo , вы заметите, что он отобразит список строк, которые вы в него бросаете.
echo является языковой конструкцией, поэтому вам не нужны скобки.Но вы «передаете» несколько параметров в echo.Думайте об этом как:
echo('hello', ' world');
Это так же, как:
echo 'hello', ' world';