tyoma_koder
@tyoma_koder

Почему не работает userialize?

Перебираю в массиве строки типа a:1:{s:5:"BRAND";a:1:{i:0;s:3:"MDV";}}, если вывести unserialize('a:1:{s:5:"BRAND";a:1:{i:0;s:3:"MDV";}}') то выводится массив, когда делаю тоже самое в цикле unserialize($arr[$i]) возвращается false.
Кавычки не экранированы. Делаю в cms битрикс.
$q = $DB->Query('SELECT PROPERTIES, NEW_URL FROM `table` WHERE section_id=75');
    $current_result = $q->GetNext();
    $brands = [];
    while($current_result){
        $txt = $current_result['PROPERTIES'];
        $matches = unserialize($txt);
        $brands[] = [$matches, $current_result['NEW_URL']];
        $current_result = $q->GetNext();
    }
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
tyoma_koder
@tyoma_koder Автор вопроса
Не работало потому что в строке, передаваемой в userialize кавычки были заменены на html код кавычек.
Так работает unserialize(htmlspecialchars_decode($str))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы