我正在尝试使用update_post_meta()函数更新序列化值的post meta。
我需要存储的值是yes
。
因此,serialize(array('yes'))
我得到了a:1:{i:0;s:3:"yes";}
,那很好。
但是在运行update_post_meta()后,例如:
update_post_meta(55, 'my_key', 'a:1:{i:0;s:3:"yes";}')
我在数据库中获得了值s:20:"a:1:{i:0;s:3:"yes";}";
。注意区别。
为什么会发生这种情况以及如何解决?
答案 0 :(得分:1)
函数update_post_meta将自动序列化传入其中的数组。所以你不需要做第一次序列化。直接传递数组,并给出一个镜头。我真的不知道为什么它会尝试序列化你传递的字符串,但我打赌直接传递数组将解决你的问题。