Печать новой строки в PHP в одинарных кавычках

Я стараюсь использовать одинарные кавычки как можно больше, и я заметил, что я не могу использовать \n в одинарных кавычках. Я знаю, что могу просто ввести новую строку буквально, нажав на возврат, но это задержит отступы моего кода.

Есть ли какой-нибудь символ ASCII или что-то, что я могу напечатать, что будет создавать новую строку, когда я использую одинарные кавычки?

Ответ 1

Нет, поскольку одиночные кавычки даже запрещают замену шестнадцатеричного кода.

echo 'Hello, world!' . "\xA";

Ответ 2

echo 'hollow world' . PHP_EOL;

Использовать константу PHP_EOL, тогда она также независима от ОС.

Ответ 3

Если вы используете echo для браузера, вы можете использовать <br/> с вашим утверждением:

echo 'Will print a newline<br/>';
echo 'But this wont!';

Ответ 4

FYI можно получить символы новой строки в строки без двойных кавычек:

printf('Please%1$sgive%1$sme%1$snewlines%1$s', PHP_EOL);

Что может быть полезно Если ваш иррациональный страх двойных кавычек не знает границ. Хотя я боюсь, что это лекарство может быть хуже, чем болезнь.

Ответ 5

Есть разница в использовании одиночных кавычек VS в PHP

например: 1. echo '$var\n'; 2. echo "$var\n";

  • в 1, PHP будет печатать буквально: $var\n
  • в 2, PHP должен будет искать местоположение в памяти для $var и возвращать значение в этом месте, также ему придется проанализировать \n как новый символ строки и напечатать этот результат

Мы находимся в диапазоне миллионных долей секунды, но есть разница в производительности. Я бы рекомендовал вам использовать одинарные кавычки, когда это было возможно, даже зная, что вы не сможете увидеть это увеличение производительности. Но я разработчик параноида, когда дело доходит до производительности.

Ответ 6

Единственная escape-последовательность, которую вы можете использовать в одинарных кавычках, - для самой отдельной кавычки.

$foo = 'That\ great';

Единственный способ вставить новую строку в строку, созданную с одинарными кавычками, - это вставить литерал новой строки

$bar = 'That\'s
cheating';

Ответ 7

Вы можете рассмотреть возможность использования < <

например.

<<<VARIABLE
this is some
random text
that I'm typing 
here and I will end it with the 
same word I started it with
VARIABLE

Дополнительная информация: http://php.net/manual/en/language.types.string.php

Btw - Некоторые среды кодирования не знают, как обрабатывать вышеупомянутый синтаксис.

Ответ 8

Нет, согласно документации, PHP не распознает специальный символ в одинарных кавычках. И нет единственной причины максимально использовать одиночные кавычки