Print: примеры (PHP)
print(string $expression): intВ PHP print является языковой конструкцией, хотя часто используется как функция. Ее основная задача - вывод строки или значения, которое может быть преобразовано в строку.
Конструкция применяется для простого вывода данных, например, в веб-разработке для генерации HTML-контента. В отличие от echo, print всегда возвращает значение 1, что позволяет использовать ее в контексте выражений.
Конструкция принимает только один обязательный аргумент.
- $value: Выражение, которое необходимо вывести. Аргумент преобразуется в строку, если это возможно. Можно передавать строки, числа, а также объекты, реализующие магический метод
__toString().
Возвращаемое значение всегда равно 1.
<?php
print "Привет, мир!";
?>Привет, мир!
<?php
$number = 42;
print $number;
?>42
Поскольку print возвращает 1, ее можно использовать там, где ожидается выражение.
<?php
$result = print "Текст ";
echo "Результат print: $result";
?>Текст Результат print: 1
- echo: Конструкция, очень похожая на
print, но может принимать несколько аргументов через запятую и ничего не возвращает. Работает немного быстрее. Предпочтительна для простого вывода нескольких значений. - printf(): Функция для форматированного вывода. Используется, когда требуется контроль над форматом данных (числа, строки).
- var_dump(), print_r(): Функции для отладки, выводят структурированную информацию о переменных, включая типы и значения элементов массивов/объектов.
- sprintf(): Аналог
printf(), но возвращает отформатированную строку, а не выводит ее.
<?php
// Неправильно
print "Строка1", "Строка2";
?>Parse error: syntax error, unexpected token "," in ...<?php
$fruit = "яблоко";
print "Корзина с $fruits"; // Опечатка в имени переменной
?>Корзина с
<?php
$arr = [1, 2];
print $arr;
?>Notice: Array to string conversion in ...
Array
Начиная с PHP 8.0.0, конструкция print стала выражением (expression), а не инструкцией (statement). Это незначительное изменение, которое формализует ее поведение как конструкции, всегда возвращающей значение 1. Практического влияния на большинство кода это не оказывает, но позволяет более последовательно использовать print в контекстах, где ожидается выражение, например, в комбинации с оператором объединения с присваиванием ??=.
<?php
$isLogged = true;
$isLogged ? print("Пользователь в системе") : print("Доступ запрещен");
?>Пользователь в системе
<?php
// print возвращает 1, поэтому эта конструкция работает
$counter = 0;
$counter += print("Сообщение ");
echo $counter; // Выведет 1 после вывода "Сообщение "
?>Сообщение 1
<?php
print "<div class=\"alert\">" . htmlspecialchars("<script>alert('xss')</script>") . "</div>";
?><div class="alert"><script>alert('xss')</script></div><?php
class User {
public function __toString() {
return "Объект пользователя";
}
}
$user = new User();
print $user; // Сработает из-за __toString
print true; // Выведет "1"
print false; // Выведет пустую строку
print null; // Выведет пустую строку
?>Объект пользователя1
Print в Python
Функция print() выводит переданные аргументы, разделенные пробелом, с переводом строки в конце. Может принимать несколько аргументов и параметры для разделителя, конца строки и вывода в файл.
# Python
print("Привет", "мир", sep="-") # Вывод нескольких аргументовПривет-мир
Print в Javascript
Для вывода в консоль браузера используется console.log(). Может принимать любое количество аргументов.
// JavaScript
console.log("Привет", "мир", 42);Привет мир 42
Print в MySQL
В SQL вывод данных осуществляется через оператор SELECT, который возвращает результат как набор строк.
-- MySQL
SELECT 'Привет, мир!' AS message;