Как вручную интерполировать строку? [Дубликат]

На этот вопрос уже есть ответ здесь:

Как заменить переменную в строке значением в php? 10 ответов

Единственный способ, которым я нашел интерполяцию строки (т.е. расширение переменных внутри нее), заключается в следующем:

$str = 'This is a $a';
$a = 'test';
echo eval('return "' . $str . '";');

Имейте в виду, что в реальном сценарии строки создаются в разных местах, поэтому я не могу просто заменить'с"s.

Есть ли лучший способ расширения строки в одинарных кавычках без использования eval ()? Я ищу то, что предоставляет сам PHP.

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

Ответы на вопрос(3)

Ваш ответ на вопрос