массив хранится в виде строки обратно в массив? - PullRequest
2 голосов
/ 13 августа 2010

просто пытаюсь добавить некоторые настройки для администратора в записи базы данных.

я сохранил;

array('aviva'=>'aviva','teacher'=>'teacher');

в поле 'fullPara', но вы не можете вернуть его обратно в массив?Просто выкладываете это как строку, и я пробовал eval, но не уверен, куда идти?

echo $userTypes['fullPara']; // spits out array('aviva'=>'aviva','teacher'=>'teacher');

любые указатели приветствуются!

лучше всего, Дэн

Ответы [ 2 ]

9 голосов
/ 13 августа 2010

Вы хотите изучить функции serialize () и unserialize () , которые предлагает PHP.

Вот пример:

$array = array('1', '3', '4');
$s_array = serialize($array);
// insert that into the db.


// later on when fetching.
$array = unserialize($array_from_db); 
print_r($array); // viola

РЕДАКТИРОВАТЬ

Я НЕ рекомендую это, но вот как вы бы преобразовали его в массив, используяeval:

eval("\$array = " . $data_from_Db);
print_r($array);

Должен получить то, что вы хотели.

3 голосов
/ 13 августа 2010

Если у вас уже есть строка "array ('aviva' => 'aviva', 'teacher' => 'teacher');" и вы хотите превратить ее в массив, это должно сработать ...

$str = "array('aviva'=>'aviva','teacher'=>'teacher');"; 
eval("\$foo = $str");
var_dump($foo);

Это действительно не лучший способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...