У меня есть массив, который был сериализован с помощью php, результат:
unserialize('a:2:{s:13:"custom_basket";a:1:{i:280583837398;a:4:{s:12:"product_name";s:0:"";s:8:"quantity";s:1:"1";s:5:"price";d:38.649999999999999;s:11:"description";a:7:{s:2:"id";s:12:"280583837398";s:3:"sku";s:0:"";s:4:"site";s:2:"UK";s:12:"condition_id";s:4:"1000";s:14:"transaction_id";s:12:"773563256018";s:8:"platform";s:4:"eBay";s:18:"order_line_item_id";s:25:"280583837398-773563256018";}}}s:6:"basket";a:0:{}}')
Когда я использую свой компьютер с запущенным php 5.3.5, я получаю:
Уведомление: unserialize () [function.unserialize]: Ошибка по смещению 46 из 405 байт
Когда чувак рядом со мной запускает его на своей машине под управлением 5.3.6, он возвращает массив обратно.Наш сервер, на котором работает php 5.3.4, также успешно десериализует массив.
Ошибка, которую я получаю, указывает на первый ключ во втором массиве i:280583837398
, если я тоже это изменю s:12:"280583837398"
моя машина теперь может десериализоватьсямассив успешно.
Кто-нибудь знает, почему это происходит.Я понятия не имею, является ли это версией php, я только что заметил, что у меня была версия, отличная от двух успешных машин, поэтому подумал, что стоит упомянуть.
Я запускаю MAMP PRO на Snow Leopard, если это поможет.