Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Каким образом выполнить код написанный ввиде строки?
 
 автор: web777   (04.03.2010 в 09:25)   письмо автору
 
 

имеется такой код

$string = 'array('name', 'var'=>1, 'var2'=>'5')';

его нужно выполнить, но скрипт его видит просто как обычное текстовое значение

пытаюсь сделать так

// преобразуем переменную $arr ввиде массива
$arr = array();

$arr = $string;

далее его нужно выполнить например в цикле
foreach($arr as $key => $value)


но ничего не выходить, скрипт видит как обычную строку а не как массив

  Ответить  
 
 автор: sim5   (04.03.2010 в 09:34)   письмо автору
 
   для: web777   (04.03.2010 в 09:25)
 

А от куда у вас эта сторка?

  Ответить  
 
 автор: web777   (04.03.2010 в 09:45)   письмо автору
 
   для: sim5   (04.03.2010 в 09:34)
 

на самом деле делаю для шаблоннотизатора Smarty плагин функции, где через один из параметров будет передаваться эта строка, примерно так

{function arr=''array('name', 'var'=>1, 'var2'=>'5')" }

выше код я просто упростил чтобы не запутывать

есть ли некая функция которая преобразовывает обычную строку(в которой написан php код) в исполняемый?

  Ответить  
 
 автор: sim5   (04.03.2010 в 09:49)   письмо автору
 
   для: web777   (04.03.2010 в 09:45)
 

Если вы делаете плагин, то кто вам мешает передавать в функцию соответствующее - строку, массив, объект...?
eval позволяет выполнить строку как код, но лучше не создавать самому себе же проблем, тем более в Smarty передать массив проблем нет, стоит посмотреть как уже имеющее в нем работает.

  Ответить  
 
 автор: web777   (04.03.2010 в 10:55)   письмо автору
 
   для: sim5   (04.03.2010 в 09:49)
 

передавать нужно только через шаблон.

eval точно не подумал, но его использовать, лучше убиться, в прочем немного подумав, решил написать парсер, ибо массив не сложный, проще в шаблоне передать значения, а в php скрипте эти значения разобрать и передать массиву.

  Ответить  
 
 автор: sim5   (04.03.2010 в 11:09)   письмо автору
 
   для: web777   (04.03.2010 в 10:55)
 

Вы ознакомтесь лучше со Сматри. Чего вы там творите не ведомо, но убежден, что подход вы выбрали не верный.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования