Возможности оператора echo в php
Между отображением текста в командной строке и в окне браузера имеются отличия. В браузере для форматирования текста используются HTML-теги, например , или <Р>. Если используется командная строка, то для форматирования применяются специальные символы, для использования которых строку следует заключать в двойные кавычки. Они перечислены ниже:
\n | Перевод строки (LF), код символа ASCII - 10 (0x0A). |
\r | Возврат каретки (CR), код символа ASCII - 13 (0x0D). |
\t | Табуляция (HT), код символа ASCII - 9 (0x09). |
\\ | Обратный слеш. |
\$ | Знак доллара. |
\" | Двойная ковычка |
\0...\777 | Символ, код которого задан восьмеричным числом. |
\x0...\xFF | |
Например, оператор:
echo "Line l\nLine 2"
При выполнении в командной строке выведет "Line 1" на одной строке и "Line 2" — на другой. В браузере символ "\n" будет рассматриваться точно так же, как и пробел. Для достижения того же самого результата при формировании HTML-страницы следует использовать оператор:
echo "Line l
Line 2"
При необходимости длинная строковая константа может быть размещена на нескольких строках в тексте скрипта, и при выводе текста в командной строке переводы строк будут сохранены. При формировании аналогичного текста для браузера переводы строк будут игнорироваться:
echo "Этот текст
занимает
несколько
строк.";
?>
echo "Привет,", "это", "РНР.";
Все эти строки будут отображены слитно, без разрывов:
Привет,этоРНР.
Если требуется отделить строки друг от друга пробелами, их следует включить внутри кавычек:
echo "Привет, ", "это ", "РНР.";
Привет, это РНР.
Строки также могут объединяться при помощи оператора конкатенации ".". В результате образуется выражение, которое вычисляется и передается оператору echo как единственный аргумент, например:
echo "Привет, "."это "."РНР.";
Для отображения кавычки, которая обычно используется для завершения строки, следует разместить перед ней обратный слеш, например:
echo "Она сказала: \"Я люблю мороженое.\"";
Вместо оператора echo можно использовать функцию print, которая используется точно так же. Единственная разница между echo и print состоит в том, что print является функцией и возвращает значение. Значение, возвращаемое функцией print, всегда равно 1. С точки зрения практической применимости различий между echo и print нет.
Автор: Стивен Хольцнер. Переводчик: С. Банников