PHP使用serialize&;取消序列化


PHP convert string into array using serialize & unserialize

我有一个数组,看起来像:

Array ( [0] => Array ( [names] => somename [rating] => 10 ) [1...]=>...)

我通过这种方式将他转换为字符串,将他保存在数据库中:

$array_string=mysql_escape_string(serialize($list));

然后我把他推到数据库里。

然后,我将这个数组(数据库中的字符串)放入我的页面,并以这种方式进行非序列化:

$list= unserialize($query_row['list']);

然后我用这种方式将这个字符串转换成数组:

$arr=explode("|", $list);

现在我有一个问题,当我通过var_dump($arr)进行检查时;它打印我:

array(1){[0]=>string(422

我不知道如何将数组中的字符串(字符串(422))转换为数组。有人有主意吗谢谢

如果您的目标是在取消序列化后将数据返回为数组,那么您不必进行分解,只需取消序列化即可将其返回为数组的原始状态
引用PHP文档:The converted value is returned, and can be a boolean, integer, float, string, array or object.

简单来说,

$list = unserialize($serialized_array); 

$list在这种情况下是一个数组,您可以像序列化之前一样使用它。