数据库中的这些条目是什么?看起来类似于JSON

时间:2014-11-20 作者:Yamaha32088

所以我一直想知道这些条目是什么,它们做什么,它们的格式是什么。它们看起来类似于JSON,但绝对不是JSON。

a:1:{s:12:"jetlocations";a:2:{s:5:"label";s:12:"JetLocations";s:4:"type";s:6:"editor";}}
我一直在寻找,试图找出这些可能是什么,但什么也没找到。

1 个回复
最合适的回答,由SO网友:Howdy_McGee 整理而成

那是一个Serialized 数组,它将数组转换为简单字符串,以便可以将其插入到数据库中(因为不能按原样将数组插入到数据库中)。

有关更多信息,请阅读PHP文档serialize()

还有一些WordPress函数也具有相同的功能:maybe_serialize()maybe_unserialize().

每当您将数组传递给update_post_meta() 作用要恢复阵列,可以使用get_post_meta() 并将真值传递给$single.

$single

(布尔)(可选)如果设置为true,则函数将以字符串形式返回单个结果。如果为false或未设置,则该函数返回一个自定义字段数组。在序列化数组的上下文中,这可能不是直观的。If you fetch a serialized array with this method you want $single to be true to actually get an unserialized array back. 如果传入false或不传入,则将有一个1的数组,索引0处的值将是序列化字符串。

默认值:false

get_option() 还将返回默认情况下可供使用的未序列化数组。

如果我们分解字符串,它看起来像这样:

a:1:{s:12:"jetlocations";a:2:{s:5:"label";s:12:"JetLocations";s:4:"type";s:6:"editor";}}
a:1:{} = 指定存在计数为1的数组

s:12: = 数组中唯一的索引是一个长度为12个字符的字符串;jetlocations公司;

a:2: = 然后,jetlocations保存一个计数为2的数组

s:5: = 第一个索引是一个长度为5个字符的字符串-“;“标签”;

s:12: = “的价值”;“标签”;也是一个由12个字符组成的长字符串-“”;JetLocations公司;

s:4: = 我们的第二个索引是一个由4个字符组成的字符串logn-“”;“类型”;

s:6: = “的价值”;“类型”;是一个长度为6个字符的字符串-“”;“编辑”;

所以,如果我们把这些放在一起,我们会得到一个如下的数组:

array(
    \'jetlocations\' => array(
        \'label\' => \'JetLocations\',
        \'type\'  => \'editor\'
    )
);

结束

相关推荐

无法在多站点上查看网络plugins.php或upgrade-core.php

我有一个有5或6个站点的网络。在网络管理面板中,我可以看到除/wp admin/network/plugins之外的所有页面。php页面和/wp admin/network/upgrade核心。php页面。查看文件夹结构时,这两个文件都存在,但由于某些原因,它们不会加载。非常感谢您的帮助。