这个数组是如何构建的?

时间:2015-11-08 11:29:53

标签: php arrays

我想知道这个数组是如何构建的,所以我可以复制它:

a:1:{i:0;s:2:"54";}

我是从多选<select>创建的,在这种情况下,只选择了一个选项。这就是选择四个时的样子:

a:4:{i:0;s:2:"65";i:1;s:2:"67";i:2;s:2:"68";i:3;s:2:"64";}

这些是数据库中的条目。我想复制另一个<select>

的输出

我猜他们只是将选中的选项放入数组中,但我不确定如何复制它以便我的输出相同。

1 个答案:

答案 0 :(得分:1)

这些是序列化数组。您可以将PHP函数serialize()与数组一起用作参数。例如:

$serialized = serialize(Array("1", "2", "3"));

需要此函数将数组表示为字符串 - 如果您只是将数组用作字符串(例如,将其写入数据库列,如果您不考虑正确的数据库建模),则只显示文本{{ 1}}。出于某些目的,您只需要一个数组作为字符串,因此您可以使用Arrayserialize

json_encode的反向方法是serialize,在这种情况下,你必须传递一个字符串并返回一个数组。当然,您也可以对对象使用unserializeserialize,然后将序列化属性。