Что противоположно функции var-export в php? - PullRequest
2 голосов
/ 17 февраля 2012

Я экспортирую переменную в текстовое поле через « var_export ($hools, true)», чтобы пользователь мог ее редактировать. Затем я хочу «обновить» переменную с внесенными изменениями. Обновления получены методом POST.

У меня есть текст , который я хочу, чтобы стал переменной . Как я могу это сделать?

Что я сейчас делаю, так это то, что я вручную редактирую переменную в файле .php. Я хочу дать веб-интерфейс пользователям сделать то же самое. Там не будет никаких проблем с безопасностью, поскольку это будет только внутренний инструмент.

Образец переменной

$schools = array(

    "PHCS"=> array(
        "full_name"=> "Pacific Hills Christian School",
        "version"=> "4.0.2b",
        "etc"=> "etc"
      ),

    "WAC"=> array(
        "full_name"=> "Wollondilly Anglican College",
        "version"=> "4.0.1",
        "etc"=> "etc"
      ),
  );

Ответы [ 2 ]

2 голосов
/ 17 февраля 2012

Вы будете смотреть на использование eval(), который использование довольно спорными из-за угрозы безопасности.

Я бы посоветовал вам использовать serialize() и unserialize() или, что еще лучше, функции JSON .

Кодирование / декодирование JSON было бы наилучшим вариантом для отображения пользователю, поскольку оно достаточно читабельно.

0 голосов
/ 17 февраля 2012

Следуя советам на php.net, если вы планируете изменить объект, вы должны использовать serialize и unserialize:

$var = serialize(array('hello'));
// string(22) "a:1:{i:0;s:5:"hello";}"
var_dump( unserialize($var) );
...