У меня есть массив, который возвращается в таком формате:
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
выше.
Спасибо за помощь!
Посмотрите, что является результатом unserialize
$str = 'a:1:{i:0;i:305;}';
var_dump($a = unserialize($str));
array(1) {
[0]=>
int(305)
}
Итак, возьмите его через $a[0];
$str = $order_id['meta_value']; $a = unserialize($str); echo $a[0]; var_dump($a);
Это Бул (ложь) для всего