数组存储为字符串返回数组?

时间:2010-08-13 15:38:50

标签: php arrays string

只是尝试在数据库条目中为管理员添加一些设置。

我救过了;

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

进入'fullPara'字段但似乎无法将其恢复为数组?只是把它作为一个字符串吐出来,我试过eval但不知道从哪里开始?

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

欢迎任何指示!

最好,Dan

2 个答案:

答案 0 :(得分:9)

您想要查看PHP提供的serialize()unserialize()函数。

以下是一个例子:

$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);

应该得到你所追求的。

答案 1 :(得分:3)

如果你已经有一个字符串“array('aviva'=>'aviva','老师'=>'老师');”并且你希望把它变成一个数组,这应该有效..

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

尽管如此,这并不是最好的方式。