PHP 数据库序列化数组问题

3

在将空序列化数组插入数据库时出现了问题。我正在使用WordPress(仅为了全面披露,不应该有所区别),并使用add_post_meta()函数输入一些额外的信息。这是一个片段:

add_post_meta($post_id, 'information', serialize(array()));

序列化数组目前是故意留空的。无论如何,以下是预期/实际结果:
// Expected value 
a:0:{}

// Actual value
s:6:"a:0:{}";

需要帮忙吗?


尝试阅读这个:http://codex.wordpress.org/Function_Reference/add_post_meta - Drixson Oseña
1
你的s:6来自于这个字符串a:0:{},它是一个6个字符长的字符串。我相信你不需要使用add_post_meta()来序列化数组数据。你也可以尝试使用maybe_serialize(); - David Gard
2个回答

1

1
谢谢。看起来对于add_post_meta不需要序列化数据,因为如果您输入一个数组,它会自动为您序列化。因此,我的问题是我的数据被双重序列化了。 - ScottMcGready

0

我曾经遇到过同样的问题,但是我使用了 add_post_meta($post_id, 'information', array()); 代替了 add_post_meta($post_id, 'information', serialize(array())); 你可以试一下,也许能解决你的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接