print

(PHP 4, PHP 5, PHP 7, PHP 8)

printВыводит строку

Описание

print(string$expression): int

Выводит выражение expression.

print — это не функция, а языковая конструкция. Её аргумент — это выражение после ключевого слова print, не ограниченное круглыми скобками.

Основные отличия от конструкции echo состоят в том, что конструкция print принимает только один аргумент и всегда возвращает 1.

Список параметров

expression

Выражение для вывода. Нестроковые значения будут преобразованы в строки, даже если включена директива strict_types.

Возвращаемые значения

Всегда возвращает 1.

Примеры

Пример #1 Примеры использования языковой конструкции print

<?php

print "print не требует скобок.";

// Новая строка или пробел не добавляются; ниже выводит «приветмир» в одну строку
print "привет";
print
"мир";

print
"Эта строка занимает
несколько строк. Новые строки
также будут выведены"
;

print
"Эта строка занимает\nнесколько строк. Новые строки\nтакже будут выведены";

// Аргументом может быть любое выражение, производящее строку
$foo = "пример";
print
"foo — это $foo"; // foo — это пример

$fruits = ["лимон", "апельсин", "банан"];
print
implode(" и ", $fruits); // лимон и апельсин и банан

// Нестроковые выражения приводятся к строковым, даже если установлено declare(strict_types=1)
print 6 * 7; // 42

// Поскольку у конструкции print есть возвращаемое значение, её разрешено вызвать в выражениях
// Следующие выходные данные «привет мир»
if ( print "привет" ) {
echo
" мир";
}

// следующее выражение выведет «true»
( 1 === 1 ) ? print 'true' : print 'false';
?>

Примечания

Замечание: Использование с круглыми скобками

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

<?php

print "привет";
// выведет «привет»

print("привет");
// также выведет «привет», потому что («привет») — корректное выражение

print(1 + 2) * 3;
// выведет «9»; круглые скобки приводят к тому, что сначала вычисляется 1 + 2, а затем 3 * 3
// конструкция print видит всё выражение как один аргумент

if ( print("привет") && false ) {
print
" - внутри if";
}
else {
print
" - внутри else";
}
// выведет « - внутри if»
// сначала вычисляется выражение («привет») && false, давая false
// это приводится к пустой строке "" и выводится
// конструкция print затем возвращает 1, поэтому выполняется код в блоке if

?>

При вызове print в более крупном выражении может потребоваться размещение ключевого слова и его аргумента в круглых скобках для получения нужного результата:

<?php

if ( (print "привет") && false ) {
print
" - внутри if";
}
else {
print
" - внутри else";
}
// выведет «привет - внутри else»
// в отличие от предыдущего примера, выражение (print "привет") вычисляется первым
// после вывода «привет» print возвращает 1
// поскольку 1 && false — ложно, выполняется код в блоке else

print "привет " && print "мир";
// выведет «мир1»; print "мир" выполняется в первую очередь,
// тогда выражение "привет" && 1 передается в левую часть print

(print "привет ") && (print "мир");
// выведет «привет мир»; круглые скобки заставляют выражения print
// выполнятьтся перед оператором &&
?>

Замечание: Поскольку это языковая конструкция, а не функция, её нельзя вызывать как переменную функцию или передавать как именованный аргумент.

Смотрите также

To Top