【发布时间】:2014-10-19 11:26:05
【问题描述】:
我正在使用 Serialize 函数在我的 MYSQL 数据库中存储一个数组,然后我在其他页面中取消序列化他。 数组结构如下所示:
Array ( [0] => Array ( [names] => somename1 [rating] => 10 ) [1] => Array ( [names] => somename2 [rating] => 9 ) )
当我将数组插入数据库时,我正在使用此函数将其转换为字符串:
$array_string=mysql_escape_string(serialize($arr));
然后,当我进行反序列化时,我不知道如何将字符串(数据库中的数组)恢复到原来的结构。 (如何将此字符串转换回数组)
我知道我必须使用这条线:
$arr=explode("|",$list);
在某种程度上,但我无法将它恢复到之前的数组结构。 这行的结果在数组的结构上有点不同:
Array ( [0] => Array( [0] => Array ( [names] => d [rating] => 7 ) [1] => Array ( [names] => b [rating] => 6 ) ) )
谢谢
【问题讨论】:
-
如果你知道
serialize,为什么你不知道unserialize? -
@sectus +1。
unserialize()会将其转换回序列化字符串。 -
@sectus - 我的问题是将其从序列化字符串转换回数组。我提到过。
-
@DavidAlexandrovich,那你的问题是什么?您是否尝试使用反序列化?
-
@DavidAlexandrovich 您使用 unserialize() 将序列化的字符串转换为数组。这里不需要explode()。