|
|
|
| имеется такой код
$string = 'array('name', 'var'=>1, 'var2'=>'5')';
его нужно выполнить, но скрипт его видит просто как обычное текстовое значение
пытаюсь сделать так
// преобразуем переменную $arr ввиде массива
$arr = array();
$arr = $string;
далее его нужно выполнить например в цикле
foreach($arr as $key => $value)
но ничего не выходить, скрипт видит как обычную строку а не как массив | |
|
|
|
|
|
|
|
для: web777
(04.03.2010 в 09:25)
| | А от куда у вас эта сторка? | |
|
|
|
|
|
|
|
для: sim5
(04.03.2010 в 09:34)
| | на самом деле делаю для шаблоннотизатора Smarty плагин функции, где через один из параметров будет передаваться эта строка, примерно так
{function arr=''array('name', 'var'=>1, 'var2'=>'5')" }
выше код я просто упростил чтобы не запутывать
есть ли некая функция которая преобразовывает обычную строку(в которой написан php код) в исполняемый? | |
|
|
|
|
|
|
|
для: web777
(04.03.2010 в 09:45)
| | Если вы делаете плагин, то кто вам мешает передавать в функцию соответствующее - строку, массив, объект...?
eval позволяет выполнить строку как код, но лучше не создавать самому себе же проблем, тем более в Smarty передать массив проблем нет, стоит посмотреть как уже имеющее в нем работает. | |
|
|
|
|
|
|
|
для: sim5
(04.03.2010 в 09:49)
| | передавать нужно только через шаблон.
eval точно не подумал, но его использовать, лучше убиться, в прочем немного подумав, решил написать парсер, ибо массив не сложный, проще в шаблоне передать значения, а в php скрипте эти значения разобрать и передать массиву. | |
|
|
|
|
|
|
|
для: web777
(04.03.2010 в 10:55)
| | Вы ознакомтесь лучше со Сматри. Чего вы там творите не ведомо, но убежден, что подход вы выбрали не верный. | |
|
|
|