Конструкция echo в языке PHP: синтаксис и примеры использования
Основные способы вывода с помощью echo
Наиболее эффективное и часто используемое решение - это вызов echo с одним или несколькими аргументами, разделёнными запятыми. Такой подход позволяет вывести любые скалярные значения, а также результат работы функций или переменные.
echo 'Привет, мир!';Php echo get (вывод get-параметров через echo в php)
Эта строка выведет на экран текст Привет, мир!. Команда echo не требует круглых скобок, хотя их можно использовать для группировки выражений.
Как вывести переменную вместе с текстом?
Используйте конкатенацию строк через точку:
$name = 'Алексей';
echo 'Меня зовут ' . $name . '!';Php echo html (вывод html через echo в php)
Меня зовут Алексей!
Id php echo (вывод id через echo в php)
Как передать несколько значений в echo?
Можно перечислить их через запятую - это работает быстрее конкатенации для больших объёмов данных:
echo 'Число: ', 42, '!';Php echo div (вывод блока div через echo в php)
Число: 42!
Php echo значение (вывод значения через echo в php)
Как вывести большой блок текста с HTML-разметкой?
Для многострочного текста удобен синтаксис HEREDOC:
echo <<<HTML
<div class="block">
<p>Привет, {$name}!</p>
</div>
HTML;Php echo name (вывод имени через echo в php)
<div class="block">
<p>Привет, Алексей!</p>
</div>Php echo content (вывод контента через echo в php)
Внутри heredoc можно использовать переменные и сложные выражения в фигурных скобках.
Как вывести строку без интерпретации переменных?
Используйте NOWDOC (идентификатор в одинарных кавычках):
echo <<<'TEXT'
Переменная {$name} не будет заменена.
TEXT;Php echo array (вывод массива через echo в php)
Переменная {$name} не будет заменена.Php echo error (вывод ошибки через echo в php)
Как сократить запись echo при смешивании PHP и HTML?
В PHP-шаблонах удобен короткий вариант <?= ... ?>:
<?= $name ?>
<?= 'Текущий год: ' . date('Y') ?>Echo d php (вывод переменной d через echo в php)
Это равносильно <?php echo $name; ?>. Работает только если включена опция short_open_tag (по умолчанию включена).
Как вывести массив или объект через echo?
Для массива нужно преобразовать его в строку - через print_r() или json_encode():
$arr = ['a' => 1, 'b' => 2];
echo json_encode($arr);
// или
echo '<pre>' . print_r($arr, true) . '</pre>';Echo r php (вывод переменной r через echo в php)
{"a":1,"b":2}
<pre>Array
(
[a] => 1
[b] => 2
)
</pre>Прямой вызов echo $arr вызовет ошибку, так как массив не является скалярным типом.
Почему echo выводит пустую строку или ошибку?
Типичные проблемы и их решения:
- Ошибка синтаксиса - забыта точка с запятой или кавычка. Всегда проверяйте закрывающие символы.
- Попытка вывести ресурс (например, результат fopen) - ресурсы нельзя вывести echo; используйте fread() сначала.
- Конфликт кавычек - если строка содержит одинарные кавычки, а вы используете одинарные снаружи, нужно экранировать: echo 'It\'s ok';.
- Вывод объекта без метода __toString() - объект вызовет фатальную ошибку. Добавьте волшебный метод __toString() в класс.
Расширенные примеры использования echo
// 1. Вывод с условным оператором
$logged = true;
echo 'Добро пожаловать, ' . ($logged ? 'пользователь' : 'гость') . '!';Добро пожаловать, пользователь!
// 2. Множественные аргументы для ускорения
$part1 = 'Hello';
$part2 = 'World';
echo $part1, ' ', $part2, '!';Hello World!
// 3. Echo внутри цикла
for ($i = 0; $i < 3; $i++) {
echo "Квадрат числа $i равен " . ($i * $i) . "<br>";
}Квадрат числа 0 равен 0<br> Квадрат числа 1 равен 1<br> Квадрат числа 2 равен 4<br>
// 4. Вывод результата функции
function sum($a, $b) { return $a + $b; }
echo 'Сумма 5 и 7: ' . sum(5, 7);Сумма 5 и 7: 12
// 5. Экранирование HTML-спецсимволов
$unsafe = '<script>alert(1)</script>';
echo htmlspecialchars($unsafe, ENT_QUOTES, 'UTF-8');<script>alert(1)</script>
// 6. Вывод многострочного HTML с heredoc и условием
$status = 'active';
echo <<<BLOCK
<div class="user $status">
<p>Пользователь: {$name}</p>
<button onclick="confirmDelete()">Удалить</button>
</div>
BLOCK;<div class="user active">
<p>Пользователь: Алексей</p>
<button onclick="confirmDelete()">Удалить</button>
</div>// 7. Короткий синтаксис (short echo tag) внутри HTML-шаблона
// Файл template.php:
?><h1><?= $title ?></h1><?php(вывод значения переменной $title)
// 8. Вывод с форматированием чисел
$price = 1234.5678;
echo 'Цена: ' . number_format($price, 2, ',', ' ') . ' руб.';Цена: 1 234,57 руб.
// 9. Использование return в качестве аргумента echo
echo 'Результат: ', (function() { return 'из анонимной функции'; })();Результат: из анонимной функции
// 10. Вывод строки с переводом каретки (работает в CLI)
echo "Строка 1\nСтрока 2\n";Строка 1 Строка 2