php - 无法访问数组以进行反序列化
问题描述
我将我的 json 过滤器作为序列化数据存储在我的 postgre 数据库中,插入效果很好。
现在,我需要查询选择,并反序列化我的过滤器。
Postgresql 查询给了我这个数组数组 ($results) :
array (size=3)
0 =>
array (size=4)
'id_filtres_stock' => int 7
'id_liseo_utilisateurs' => int 46
'filtres' => string 'O:8:"stdClass":1:{s:5:"ville";s:9:"ABBEVILLE";}' (length=47)
'nom_filtre' => null
1 =>
array (size=4)
'id_filtres_stock' => int 8
'id_liseo_utilisateurs' => int 46
'filtres' => string 'O:8:"stdClass":0:{}' (length=19)
'nom_filtre' => string 'test' (length=4)
2 =>
array (size=4)
'id_filtres_stock' => int 9
'id_liseo_utilisateurs' => int 46
'filtres' => string 'O:8:"stdClass":1:{s:7:"nom_pdg";s:16:"AUCHAN BAGNOLET ";}' (length=57)
'nom_filtre' => string 'test' (length=4)
我需要使用 unserialize() 将“过滤器”转换回来,所以我试图访问过滤器变量:
echo($results[0][0]->filtres) ;
它不起作用并显示整个数组。
我什至试过这个:
$d = (string)$results[0][0]->filtres;
$d = unserialize($d);
没有运气。
任何想法 ?
编辑:好的,我现在可以很好地访问它:
$d = $result[0]['filtres'];
$f = unserialize($d);
谢谢,已解决!
解决方案
你只需要像这样得到它:
$filtres = results[0]['filtres'];
然后你可以反序列化它:
$filtres = unserialize($filtres);
推荐阅读
- airflow - 气流:用户界面中未显示日志
- winforms - 如何使用 ReactiveUI 和 winforms 绑定到用户控件
- excel - 为什么用“<=”运算符比较日期时excel不能正常工作?
- hibernate - Spring Data 和 Hibernate 中的不受控制的删除
- javascript - javascript字符串中每两个单词换行
- python - 在 csv 文件中添加填充以使数据框对 pandas 可读
- node.js - NPM - 无法安装包
- ios - 如何在 xcode 构建命令中传递预处理器宏名称?
- angular - 如何为 Angular 环境使用默认值
- python-2.7 - 在树莓派上使用 opencv4 videocapture 对象在 read() 2 次后冻结