<?php
echo "echo не требует скобок.";
// Строки передают по отдельности как набор аргументов
// или объединяют вместе и передают как один аргумент
echo 'Эта ', 'строка ', 'сформирована ', 'из ', 'нескольких параметров.', "\n";
echo 'Эта ' . 'строка ' . 'сформирована ' . 'с ' . 'помощью конкатенации.' . "\n";
// Новая строка или пробел не добавляются; следующий пример выведет "приветмир" в одну строку
echo "привет";
echo "мир";
// То же, что и предыдущий пример
echo "привет", "мир";
echo "Эта строка занимает
несколько строк. Переводы строк тоже
выводятся";
echo "Эта строка занимает\nнесколько строк. Переводы строк тоже\nвыводятся.";
// В аргументах разрешается передавать выражения, которые вычисляются как строки
$foo = "пример";
echo "пример — это $foo"; // пример — это пример
$fruits = ["лимон", "апельсин", "банан"];
echo implode(" и ", $fruits); // лимон и апельсин и банан
// Нестроковые выражения приводятся к строковым,
// даже при установке строгой проверки типов конструкцией declare(strict_types=1)
echo 6 * 7; // 42
// Однако следующие примеры работают:
($some_var) ? print 'true' : print 'false'; // print — тоже конструкция,
// но это допустимое выражение, которое возвращает 1,
// поэтому конструкция print допустима в этом контексте.
echo $some_var ? 'true': 'false'; // Сначала выполняется выражение, а результат передаётся в конструкцию echo
?>