Php 获取序列化的stdClass值
我有一个SQL查询:Php 获取序列化的stdClass值,php,wordpress,serialization,deserialization,Php,Wordpress,Serialization,Deserialization,我有一个SQL查询: $query=$wpdb->get_results(“从wp\u customker中选择SQL\u CALC\u FOUND\u ROWS key\u value,其中ker\u name='1') 如果运行此查询,将在序列化的stdClass中获得176个元素: 数组([0]=>stdClass对象([key_值]=>a:176:{i:0;s:10:“Ág utca”;i:1;s:14:“Aladár utca”;i:2;s:11:“Alag utca”;i:3;s:1
$query=$wpdb->get_results(“从wp\u customker中选择SQL\u CALC\u FOUND\u ROWS key\u value,其中ker\u name='1')代码>
如果运行此查询,将在序列化的stdClass中获得176个元素:
数组([0]=>stdClass对象([key_值]=>a:176:{i:0;s:10:“Ág utca”;i:1;s:14:“Aladár utca”;i:2;s:11:“Alag utca”;i:3;s:14:“Alagút utca”…;}))
我试着用
$array=json\u decode(json\u encode($query),true)代码>
得到这个结果:
数组([0]=>Array([key_value]=>a:176:{i:0;s:10:“Ág utca”;i:1;s:14:“Aladár utca”;i:2;s:11:“Alag utca”…;}))
我的问题是如何取消序列化此数据并在foreach
循环中回显所有字符串?WP get\u results函数接受第二个参数
$query = $wpdb->get_results("
SELECT SQL_CALC_FOUND_ROWS key_value FROM wp_customker WHERE ker_name = '1'", ARRAY_N);
key\u value
中的数据已序列化,而不是json编码
例如,你可以这样做来获取原始数据
$serial_data = $query[0]->key_value;
$unserial_data = unserialize($serial_data);
foreach ( $unserial_data as $key=>$val) {
echo $key . ' = ' . $val;
}
检查WordPress中的函数是的,如果我这样做,我将得到第二个结果,而不进行编码和解码,但它仍然是序列化的,或者我不知道为什么,但我无法通过foreach循环迭代它foreach($queryas$item=>$value){echo$value;}
返回'Array',如果我var\u dump或print\r,我将获得原始数组