将wpdb sql数组转换为php数组
通过sql查询,我从wpdb中获取特定行的meta_值。在sql中它是一个数组,但在php中它作为字符串输出,如下所示:将wpdb sql数组转换为php数组,php,sql,arrays,wordpress,Php,Sql,Arrays,Wordpress,通过sql查询,我从wpdb中获取特定行的meta_值。在sql中它是一个数组,但在php中它作为字符串输出,如下所示: a:1:{i:0;a:2:{i:0;s:10:”02/17/2014″;i:1;s:10:”Thom Stark”;}} $tabledata = $wpdb->get_row("SELECT meta_value FROM ".$prefix."frm_item_metas WHERE field_id='$fid' AND item_id='$eid'"); $d
a:1:{i:0;a:2:{i:0;s:10:”02/17/2014″;i:1;s:10:”Thom Stark”;}}
$tabledata = $wpdb->get_row("SELECT meta_value FROM ".$prefix."frm_item_metas WHERE field_id='$fid' AND item_id='$eid'");
$data = $tabledata->meta_value;
echo $data;
outputs: a:1:{i:0;a:2:{i:0;s:10:”02/17/2014″;i:1;s:10:”Thom Stark”;}}
如何将其转换为php数组,以便访问数组2索引中的值?我的查询如下所示:
a:1:{i:0;a:2:{i:0;s:10:”02/17/2014″;i:1;s:10:”Thom Stark”;}}
$tabledata = $wpdb->get_row("SELECT meta_value FROM ".$prefix."frm_item_metas WHERE field_id='$fid' AND item_id='$eid'");
$data = $tabledata->meta_value;
echo $data;
outputs: a:1:{i:0;a:2:{i:0;s:10:”02/17/2014″;i:1;s:10:”Thom Stark”;}}
你可以用
它是一个序列化的数组,所以您需要使用unserialize将其转换回数组
$string = 'a:1:{i:0;a:2:{i:0;s:10:"02/17/2014";i:1;s:10:"Thom Stark";}}';
$array = unserialize(trim($string));
print_r($array);
注意:你有
“
它应该是”
很棒。现在就试试。谢谢。我正在尝试:`$tabledata=$wpdb->get_row(“从“$prefix.”中选择meta_值。frm_item_metas其中字段_id='$fid'和item_id='$eid');$data=$tabledata->meta_值;$array=json_解码($data);$content=$data;foreach($array as$a)$content.=$a.““;`但是数组没有被输出。@Thom:你能试着用
取消序列化吗?
?我已经更新了答案引号只是从前端引用它。或者说是WordPress。否则它们是正确的。不可能是,当你复制word press时,它从不使用存储”
它们只是序列化()数组。我想我必须同意nauphal的答案,因为他建议在你回答前一分钟取消序列化。:(抱歉!讨厌这些情况。嘿,那很好!!你不必为此感到抱歉!!最重要的是,无论你选择哪种答案,它对你都有效:)