Как вручную интерполировать строку? [Дубликат]
На этот вопрос уже есть ответ здесь:
Как заменить переменную в строке значением в php? 10 ответовЕдинственный способ, которым я нашел интерполяцию строки (т.е. расширение переменных внутри нее), заключается в следующем:
$str = 'This is a $a';
$a = 'test';
echo eval('return "' . $str . '";');
Имейте в виду, что в реальном сценарии строки создаются в разных местах, поэтому я не могу просто заменить'
с"
s.
Есть ли лучший способ расширения строки в одинарных кавычках без использования eval ()? Я ищу то, что предоставляет сам PHP.
пожалуйста, обратите вниманиеИспользование strtr () похоже на использование чего-то вроде sprintf (). Мой вопрос отличается от вопроса, связанного в возможной повторяющейся части этого вопроса, поскольку я позволяю строке контролировать, каким образом (т.е. через вызовы функций или средства доступа к свойствам) она хочет получить содержимое.