Использование extract() с дефисами
Если, например, у вас был ассоциативный массив, который выглядел примерно так:
$array = array('first-value' => 'Hello');
И вы должны были его извлечь:
extract($array);
Как вы получите доступ к "первому значению", поскольку дефисы не могут использоваться в именах переменных? Является ли дефис заменен другим персонажем?
Я пробовал следующее без везения...
echo ${'first-value'};
echo $first_value;
echo $firstvalue;
Не удалось найти упоминание об этом в руководстве Php...
Спасибо заранее!
Ответы
Ответ 1
Если вы выполните echo extract($array);
, вы увидите, что он выводит 0, что является числом успешно импортированных переменных в таблицу символов. Другими словами, переменная не может быть импортирована из-за дефиса и, следовательно, не существует.