$str =<<<EOD
Exampleofstring
spanning multiple lines
using heredoc syntax.
$var is replaced automatically.
EOD;
Nowdoc похож на Heredoc, но он не заменяет переменные.
$str =<<<'EOD'Exampleofstring
spanning multiple lines
using nowdoc syntax.
$var is NOT replaced in a nowdoc.
EOD;
Помните, что конечный токен EODвообще не должен иметь отступ, иначе PHP его не признает. Кроме того, вам не нужно использовать " EOD"; это может быть любая строка, которую вы хотите.
Есть ли способ отметить ответы? Я всегда думал, что ты можешь делать это только с вопросами. @TheBlackBenzKid
Pacerier
Я имел в виду, что дал ему плюс +1, когда я его подзарядил.
TheBlackBenzKid
@TheBlackBenzKid "faved";)
Андрес Моралес
8
Не уверен, как это складывается с точки зрения производительности, но для мест, где это на самом деле не имеет значения, мне нравится этот формат, потому что я могу быть уверен, что он использует \ r \ n (CRLF), а не тот формат, в котором мой PHP-файл оказался сохранено в
$text="line1\r\n"."line2\r\n"."line3\r\n";
Это также позволяет мне делать отступы так, как я хочу.
Обратите внимание, что буферизация вывода может быть не лучшим решением с точки зрения производительности и чистоты кода для этого конкретного случая, но стоит оставить его здесь для справки.
Чтобы поместить строки "l" и "vv" в отдельные строки только в коде:
$xml ="l";
$xml .="vv"
echo $xml;
В этом случае вы говорите добавить .=строку в конец предыдущей версии этой строковой переменной. Помните, что = является только оператором присваивания, поэтому в исходном коде вы присваиваете переменной новое строковое значение.
Чтобы поместить строки "l" и "vv" в отдельные строки только в эхо:
$xml ="l\nvv"
echo $xml;
Вам не нужно несколько строк в этом случае, так как символ новой строки \nпозаботится об этом за вас.
Чтобы поместить строки "l" и "vv" в отдельные строки кода и при отображении:
concatenation
. Вот как это называется, когда вы собираете строки.Ответы:
Хорошо,
Работает.
Вы также можете использовать следующее:
или
Редактировать на основе комментария:
Вы можете объединять строки, используя
.=
оператор.источник
В PHP есть строки Heredoc и Nowdoc, которые являются лучшим способом обработки многострочных строк в PHP.
http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
Nowdoc похож на Heredoc, но он не заменяет переменные.
Помните, что конечный токен
EOD
вообще не должен иметь отступ, иначе PHP его не признает. Кроме того, вам не нужно использовать "EOD
"; это может быть любая строка, которую вы хотите.источник
Будет эхом
Документация по PHP_EOL .
источник
Не уверен, как это складывается с точки зрения производительности, но для мест, где это на самом деле не имеет значения, мне нравится этот формат, потому что я могу быть уверен, что он использует \ r \ n (CRLF), а не тот формат, в котором мой PHP-файл оказался сохранено в
Это также позволяет мне делать отступы так, как я хочу.
источник
Другое решение - использовать буферизацию вывода , вы можете собрать все, что выводится / выводится, и сохранять его в переменной.
Обратите внимание, что буферизация вывода может быть не лучшим решением с точки зрения производительности и чистоты кода для этого конкретного случая, но стоит оставить его здесь для справки.
источник
Может быть, попробовать ". =" Indead of "="?
даст вам "лвв";
источник
Но вы действительно должны заглянуть в http://us3.php.net/simplexml
источник
Чтобы поместить строки "l" и "vv" в отдельные строки только в коде:
В этом случае вы говорите добавить
.=
строку в конец предыдущей версии этой строковой переменной. Помните, что = является только оператором присваивания, поэтому в исходном коде вы присваиваете переменной новое строковое значение.Чтобы поместить строки "l" и "vv" в отдельные строки только в эхо:
Вам не нужно несколько строк в этом случае, так как символ новой строки
\n
позаботится об этом за вас.Чтобы поместить строки "l" и "vv" в отдельные строки кода и при отображении:
источник