你看到的是serialized representation 阵列的Array( \'75\', \'68\' ). 序列化是PHP将数据对象存储为字符串的过程,就像JSON是Javascript对象的字符串表示形式一样。PHP数据结构可以通过PHP的serialize(), 然后再次使用unserialize().
WordPress还提供仅在需要时执行必要操作的函数,以防止意外的双重序列化或非序列化:maybe_serialize() 和maybe_unserialize(). 您也可以使用WordPress检查自己is_serialized().
来自PHP的评论serialize(), 序列化数据对象的结构如下所示:
一串s:size:value;
整数i:value;
布尔型b:value; (不存储"true" 或"false", 是否存储1 或0)
无效的N;
大堆a:size:{key definition;value definition;(repeated per element)}
对象O:strlen(object name):object name:object
大小s:strlen(property name):property name:property definition;(repeated per property)
字符串值始终位于双引号中。
数组键总是整数或字符串;使用其他类型作为键会产生不需要的结果:
null => \'value\' 等于\'s:0:"";s:5:"value";\'true => \'value\' 等于\'i:1;s:5:"value";\'false => \'value\' 等于\'i:0;s:5:"value";\'array(whatever the contents) => \'value\' 等同于“非法偏移类型”警告,因为您不能将数组用作键;但是,如果使用包含数组的变量作为键,则它将等于\'s:5:"Array";s:5:"value";\', 尝试将对象用作键将导致与使用数组相同的行为因此,我们可以解释您特定的序列化数组a:2:{i:0;s:2:"75";i:1;s:2:"68";} 因此:a:2:{ 长度为2的数组,包含:i:0; 在整数键处0 (即索引0):s:2:"75"; 值为“75”的长度为2的字符串i:1; 在整数键处1 (即索引1):