【发布时间】:2017-12-20 14:17:47
【问题描述】:
我将数组中复选框中的值保存到数据库中,但在数据库中,该字段包含奇怪的字符,例如:s:44:"a:2:{i:0;s:8:"0 -4 年";i:1;s:8:"第 10 组";}";
我只需要0-4年和第10组的部分。如何防止角色以我想要的方式获得它?
这是表格的一部分:
<input type="checkbox" name="wmw_age[]" value="0-4 years">
<input type="checkbox" name="wmw_age[]" value="10th group">
这是我提交后将它获取到数据库的方式:
$data=serialize($_POST['wmw_age']);
update_post_meta($post_id, 'wmw_age', $data);
如果两个字段都被选中,这是数据库中的结果:
s:44:"a:2:{i:0;s:8:"0-4 years";i:1;s:8:"10th group";}";
是否只能在数据库中获取这个:0-4年,第10组
我希望有人可以帮助我!
谢谢。
【问题讨论】:
-
那是
Serialize()'d 所以你需要unserialize()它回到一个PHP数据结构 -
或者一开始就不要序列化它。
-
@FirstOne 是的,这对我有用:)
-
@FirstOne 已经序列化了,又要序列化了
-
为了得到你想要的,你必须将
$_POST['wmw_age']预处理成一个逗号分隔的列表。 虽然这比序列化更糟糕
标签: php arrays database wordpress