Не удается получить доступ к массиву для десериализации - PullRequest
0 голосов
/ 04 октября 2018

Я храню свой фильтр json как сериализованные данные в моей базе данных postgre, вставка работает очень хорошо.

Теперь мне нужно запросить select и отменить сериализацию моих фильтров.

Postgresqlзапрос дает мне этот массив массива ($ результатов):

  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); 

Спасибо, решено!

1 Ответ

0 голосов
/ 04 октября 2018

Вам просто нужно получить это так:

$filtres = results[0]['filtres'];

Тогда вы можете отменить его сериализацию:

$filtres = unserialize($filtres);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...