Интерполяция строки

PHP:
Интерполяция строки

Как это сделать:

В PHP можно интерполировать строки, используя двойные кавычки или синтаксис heredoc:

$name = "World";
echo "Привет, $name!"; // Вывод: Привет, World!

// Использование фигурных скобок для более сложных переменных
$object = new stdClass();
$object->greeting = "Привет";
echo "{$object->greeting}, $name!"; // Вывод: Привет, World!

// Синтаксис heredoc для многострочных строк
$heredoc = <<<EOT
Это строка, содержащая $name внутри нее.
Здесь вы можете писать столько, сколько хотите.
EOT;
echo $heredoc; // Вывод: Это строка, содержащая World внутри нее.

Заметьте: Одинарные кавычки не интерполируются:

echo 'Привет, $name!'; // Вывод: Привет, $name!

Погружение

До введения интерполяции в PHP, конкатенация с оператором точка (.) была обычным делом. Например:

echo 'Привет, ' . $name . '!';

Интерполяция упрощает этот процесс, позволяя парсить переменную непосредственно внутри строки.

Интерполяция строк существует с PHP 4, но использование сложных выражений внутри фигурных скобок стало более гибким с PHP 7. С этими улучшениями PHP облегчил встраивание любой переменной, включая свойства объектов и элементы массива, в строку.

Существуют альтернативы интерполяции, такие как использование sprintf() для форматированных строк или implode() для массивов. Иногда они могут предложить больший контроль над форматированием строк, особенно для локализации и сложных структур.

С точки зрения реализации, PHP ищет переменные внутри строк, когда они находятся в двойных кавычках или синтаксисе heredoc, и заменяет их значением переменной. Парсер игнорирует знак доллара ($) в строках в одинарных кавычках, обрабатывая его как обычный символ.

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