php - 获取序列化的 stdClass 值
问题描述
我有一个 SQL 查询:
$query = $wpdb->get_results("SELECT SQL_CALC_FOUND_ROWS key_value FROM wp_customker WHERE ker_name = '1'");
如果我运行此查询,我将在序列化的 stdClass 中获得 176 个元素:
Array ( [0] => stdClass Object ( [key_value] => 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 并
$array = json_decode(json_encode($query), true);
得到以下结果:
数组 ( [0] => 数组 ( [key_value] => a:176:{i:0;s:10:"Ág utca";i:1;s:14:"Aladár utca";i:2;s :11:"Alag utca"...;}))
我的问题是如何反序列化这些数据和循环echo
中的所有字符串?foreach
解决方案
里面的数据key_value
已经序列化,没有json编码
因此,例如,您可以这样做以获取原始数据
$serial_data = $query[0]->key_value;
$unserial_data = unserialize($serial_data);
foreach ( $unserial_data as $key=>$val) {
echo $key . ' = ' . $val;
}
推荐阅读
- typescript - 与 NestJS 集成时,Sentry 未获取 TypeScript 源映射
- java - 查询参数中的奇怪问题
- java - 我在某处阅读了一个代码,它分配了 Toolbar toolbar = findViewById(R.id.toolbar) 然后 setSupportActionBar(toolbar); 这里发生了什么?
- reactjs - 子 React 组件总是落后一个更新
- sql - 如何使用触发器在数据库中两次插入相似的行?
- bash - 是否可以将文件描述符 3 重定向到变量?
- node.js - 无法在firebase中提取对象数组?
- checkbox - UWP 中的数据网格复选框
- nuget - 类库中 IApplicationBuilder 扩展方法的使用
- python - “点子轮”和“点子下载”的区别?