if (isset($tag_info['callback']))
{
$pending_text = $this->{$tag_info['callback']}($open['data'], $open['option']);
}
<?php $juice = "apple"; echo "He drank some $juice juice.".PHP_EOL; // Не корректно. 's' - верный символ для имени переменной, но переменная имеет имя $juice. echo "He drank some juice made of $juices."; // Корректно. Строго указан конец имени переменной с помощью скобок: echo "He drank some juice made of ${juice}s." ?>
<?php // Показываем все ошибки error_reporting(E_ALL); $great = 'здорово'; // Не работает, выводит: Это { здорово} echo "Это { $great}"; // Работает, выводит: Это здорово echo "Это {$great}"; // Работает echo "Этот квадрат шириной {$square->width}00 сантиметров."; // Работает, ключи, заключенные в кавычки, работают только с синтаксисом фигурных скобок echo "Это работает: {$arr['key']}"; // Работает echo "Это работает: {$arr[4][3]}"; // Это неверно по той же причине, что и $foo[bar] вне // строки. Другими словами, это по-прежнему будет работать, // но поскольку PHP сначала ищет константу foo, это вызовет // ошибку уровня E_NOTICE (неопределенная константа). echo "Это неправильно: {$arr[foo][3]}"; // Работает. При использовании многомерных массивов внутри // строк всегда используйте фигурные скобки echo "Это работает: {$arr['foo'][3]}"; // Работает. echo "Это работает: " . $arr['foo'][3]; echo "Это тоже работает: {$obj->values[3]->name}"; echo "Это значение переменной по имени $name: {${$name}}"; echo "Это значение переменной по имени, которое возвращает функция getName(): {${getName()}}"; echo "Это значение переменной по имени, которое возвращает \$object->getName(): {${$object->getName()}}"; // Не работает, выводит: Это то, что возвращает getName(): {getName()} echo "Это то, что возвращает getName(): {getName()}"; ?>