Что это за строка? Как я могу его неэтериализировать и получить массив?
a:2:{i:0;s:7:"Abogado";i:1;s:7:"Notario";}
Это сериализованная строка. Вы можете неэтериализовать его с помощью этой функции: unserialize()
, например:
$str = 'a:2:{i:0;s:7:"Abogado";i:1;s:7:"Notario";}'; print_r(unserialize($str));
Вывод:
Array ( [0] => Abogado [1] => Notario )
Примечание:
Цитата из руководства:
Предупреждение: FALSE возвращается как в случае ошибки, так и при неэтериализации сериализованного значения FALSE. Этот особый случай можно поймать, сравнив str с сериализацией (false) или поймав выпущенный E_NOTICE .
Предупреждение. Не пропускайте недоверенный ввод пользователя в unserialize (). Несериализация может привести к тому, что код загружается и выполняется из-за экземпляра объекта и автозагрузки, и злоумышленник может воспользоваться этим . Используйте безопасный стандартный формат обмена данными, такой как JSON (через json_decode () и json_encode ()), если вам необходимо передать сериализованные данные пользователю.
Я использовал это:
$argument = 'a:2:{i:0;s:7:"Abogado";i:1;s:7:"Notario";}'; $arr = unserialize(urldecode($argument)); print_r($arr);