функция unserialize не возвращает возвращаемую строку в том же формате - PullRequest
0 голосов
/ 05 ноября 2019

Я получаю сериализованный массив из базы данных, а затем пытаюсь разобраться с этим. Но здесь он возвращает эту строку в том же формате. У меня есть этот сериализованный массив в этом формате.

s:33:"a:2:{i:0;s:2:"80";i:1;s:3:"112";}";

Вот как я пытаюсь разобраться в этом.

$industries = unserialize($industries);

Но здесь эта функция не работает. Любые рекомендации по этому поводу будут оценены.

1 Ответ

1 голос
/ 05 ноября 2019

Ваша строка сериализуется дважды,

s:33:"a:2:{i:0;s:2:"80";i:1;s:3:"112";}";

- это строка (с 33 символами), закодированная, поэтому unserialize() это дает вам другую строку, которая

a:2:{i:0;s:2:"80";i:1;s:3:"112";}

, вы такженадо unserialize() что ...

$industries = 's:33:"a:2:{i:0;s:2:"80";i:1;s:3:"112";}";';
$industries = unserialize($industries);
print_r(unserialize($industries));

дает ...

Array
(
    [0] => 80
    [1] => 112
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...