我将json过滤器作为序列化数据存储在我的postgre数据库中,插入效果很好。
现在,我需要查询select,并反序列化我的过滤器。
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()将'filtres'转换回去,所以我正在尝试访问filtres变量:
echo($results[0][0]->filtres) ;
它不起作用,无法显示整个数组。
我什至尝试过:
$d = (string)$results[0][0]->filtres;
$d = unserialize($d);
没有运气。
有什么想法吗?
编辑:好的,我现在访问得很好:
$d = $result[0]['filtres'];
$f = unserialize($d);
谢谢,解决了!
答案 0 :(得分:0)
您只需要这样获得它:
$filtres = results[0]['filtres'];
然后您可以将其反序列化:
$filtres = unserialize($filtres);