数组反序列化问题返回null / false

时间:2015-05-31 19:47:19

标签: php arrays serialization

我已经以这种格式返回了一个数组:

a:1:{i:0;i:305;}

我无法unserialize()访问305。任何人都知道我能做什么?

在WordPress中查询:

$order_id = $wpdb->get_row("SELECT meta_value FROM wp_postmeta WHERE post_id=" . $t->object_id . " AND meta_key='wpc_inv_order_id");

我试图使用:

$str = $order_id->meta_value;
$a = unserialize($str);
var_dump($a);
echo $a;

导致bool(false)

然而,似乎只是通过echo $order_id->meta_value;它以某种方式反序列化自己并且现在在序列化数组中给我ID值。

通过这样做:

$str = $order_id->meta_value;
echo $str;

我在上面输出305

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

查看反序列化的结果是什么

$str = 'a:1:{i:0;i:305;}';
var_dump($a = unserialize($str));

array(1) {
  [0]=>
  int(305)
}

所以请$a[0];