【发布时间】:2014-12-17 10:52:57
【问题描述】:
我正在尝试在 wordpress 中查询数据库中的序列化数组值,值将存储在表 wp_postmeta 中的 meta_value 列中。
好吧,首先我使用 php 的 serialize() 函数存储了数组。
例如,
$postID = 1;
$arr = array(1, 2, 3);
$ser_val = serialize($arr);
update_meta_data($postID, '_customvalue', $ser_val);
存储的值是这样的
s:30:"a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}";
然后,当我尝试通过执行 wordpress sql 查询来检索它时。我期望它将是一个数组,因为它存储为数组,但这样做之后,它显示为字符串而不是数组。
$get_score = $wpdb->get_row("SELECT meta_value FROM wp_postmeta WHERE meta_key = '_cummulativescore'");
$scr = unserialize($get_score->meta_value);
var_dump($scr);
//output displayed
//string(30) "a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}"
我确实使用 is_array() 函数检查了值,结果是它不是数组
关于将序列化值作为数组获取的任何想法?
【问题讨论】:
标签: php mysql arrays wordpress serialization