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


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

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

11 109

11 ответов:

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

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

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

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

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

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

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

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

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

Эл.г: 1. echo '$var\n'; 2. echo "$var\n";

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

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

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

$foo = 'That\'s great';

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

$bar = 'That\'s
cheating';

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

например

<<<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-некоторые среды кодирования не знают, как обрабатывать приведенный выше синтаксис.

интересно, почему никто не добавил альтернативу использования функции chr():

echo 'Hello World!' . chr(10);

или, более эффективно, если вы собираетесь повторить это миллион раз:

define('C_NewLine', chr(10));
...
echo 'Hello World!' . C_NewLine;

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

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

если у вас есть переменная:

$your_var = 'declare your var';
echo 'i want to show my var here'.$your_var.'<br>';

вы можете использовать это:

echo 'Hello World' . "\n";