Предположим, у меня есть массив, например:
$foo = array('first' => '1st', 'second' => '2nd', 'third' => '3rd');
Как я могу выбрать ключи из массива и сделать их собственными переменными? Например, массив $foo
стал бы следующим:
$first = '1st'; $second = '2nd'; $third = '3rd';
Я спрашиваю об этом, потому что я создаю структуру MVC, чтобы помочь с моим ООП, и я хотел бы, чтобы пользователь передал переменную функции просмотра загрузки, которая позволит пользователю использовать переменные в шаблоне, не зная, что такое массив назывался.
Например:
$array = array('title' => 'My blog!' [...]); $this->load->view('view.php', $array);
view.php:
echo $title;
Вывод:
Мой блог!
<?php extract($array); ?>
Вы можете сделать это:
foreach($foo as $k => $v) { $$k = $v; }
Простым методом является использование переменных переменных:
foreach($foo as $key => $value) { $$key = $value; } echo $first; // '1st'
Обратите внимание, что это, как правило, обескураживает. Было бы лучше изменить вашу систему шаблонов, чтобы переменные могли быть охвачены внутри шаблона. В противном случае у вас могут возникнуть проблемы с коллизиями, и вы должны проверить их существование и т. Д.