Конкатенация строк PHP с использованием “,”?
-
18-09-2019 - |
Вопрос
Я только что кое-что обнаружил.
echo $var1 , " and " , $var2;
это то же самое , что:
echo $var1 . " and " . $var2;
Каков фактический оператор конкатенации строк в php?Должен ли я использовать .
или ,
?
Решение
Тот самый .
operator - это оператор конкатенации.Ваш первый пример работает только потому, что echo 'function' (технически это языковая конструкция, но позволяет не раздваиваться) принимает более одного параметра и печатает каждый из них.
Итак, ваш первый пример - вызов echo с более чем одним параметром, и все они печатаются, по сравнению свторой пример, в котором все строки объединяются и печатается одна большая строка.
Другие советы
Фактическая конкатенация .
(период).С использованием ,
(запятая) здесь вы передаете несколько аргументов в echo
функция.(На самом деле, echo
это не функция, а конструкция языка PHP, что означает, что вы можете опустить круглые скобки вокруг списка аргументов, которые необходимы для реальных вызовов функций.)
В первом случае вы просто повторяете 3 разные строки.
Во втором случае вы объединяете три строки, а затем повторяете вывод.
Итак, ответ заключается в том, что для объединения строк вам следует использовать точку (.)
".".Другой просто записывает несколько значений независимо, без фактического объединения строк.
Смотрите также PHP-эхо ссылка, вариант «,» будет работать только с методами, принимающими несколько параметров.
"." объединяет "," может использоваться только для echo
который является языковой конструкцией (своего рода функцией)
также смотрите: Разница между точкой и запятой?
Использование запятой фактически не объединяет строки.
Видеть этот ответ на другой вопрос.
"." - это правильный оператор объединения."echo" также принимает ",", рассматривая это так, как будто вы передаете серию аргументов методу "echo", а затем повторяете каждый из них.На самом деле это не объединение строк.
нет, это потому что эхо может принимать более одного аргумента, он будет печатать каждый аргумент