Не может десериализовать строку - PullRequest
2 голосов
/ 01 февраля 2012

Может кто-нибудь сказать мне, почему эта строка не будет десериализована? Я пробовал почти все (полосы, аддлаши, обрезки и т. Д. И т. Д.)

a:10:{s:8:"order_id";s:13:"9006710350464";s:5:"buyer";s:10:"1303912674";s:3:"app";s:15:"223615011031939";s:8:"receiver";s:10:"1303912674";s:6:"amount";s:2:"20";s:11:"time_placed";s:10:"1326235812";s:11:"update_time";s:10:"1326235818";s:4:"data";s:0:"";s:5:"items";a:1:{i:0;a:7:{s:7:"item_id";s:4:"1_48";s:5:"title";s:49:"I\'m Not Jesus Mommy (Full Movie) - 48 Hour Stream";s:11:"description";s:204:"This is a purcahse to watch I\'m Not Jesus Mommy on FilmDemic Movie Streaming for a period of 48 hours. Once you complete the purchase, your account will have access to watch the movie for up to 48 hours.";s:9:"image_url";s:144:"https://filmdemic.com/apps/fb-streaming/wp-main/wp-content/themes/fd-fb-stream-wpf-child/library/images/titles/slidersize/im_not_jesus_mommy.jpg";s:11:"product_url";s:46:"http://filmdemic.com/apps/fb-streaming/film-1";s:5:"price";s:2:"20";s:4:"data";s:37:"film_id=1&wp_user_id=4&view_length=48";}}s:6:"status";s:6:"placed";}

Я получаю «Ошибка по смещению 370 из 952 байт», но это не имеет смысла, «m» в потоке - это 370-й байт.

Спасибо!

1 Ответ

3 голосов
/ 01 февраля 2012

Есть косая черта, которой не должно быть в позиции 324. Сериализация данных в PHP использует подсчет символов.Например:

s:49:"I\'m Not Jesus Mommy (Full Movie) - 48 Hour Stream"

Говорит, что в следующих кавычках будет строка из 49 символов.Но если вы рассчитываете правильно, в этой строке есть символ \, который составляет 50 символов.Если вы попытались избежать этого, пожалуйста, удалите его, чтобы исправить вашу проблему.

Кажется, есть и другая ошибка после исправления в позиции 844, которая является концом вашего product_url, похоже, отсутствует один символ,вероятно, косая черта в URL, потому что длина URL-адреса составляет 45 символов, но ожидается, что URL-адрес длиной 46 символов ...

Так что после исправления ваших сериализованных данных я получаю следующее:

а: 10: {s: 8: "order_id"; s: 13: "9006710350464"; s: 5: "покупатель"; s: 10: "1303912674"; s: 3: "приложение"; s: 15:"223615011031939"; s: 8: "приемник"; s: 10: "1303912674"; s: 6: "количество"; s: 2: "20"; s: 11: "time_placed"; s: 10: "1326235812"; s: 11:" update_time "; s: 10:" 1326235818 "; s: 4:" данные "; s: 0:" "; s: 5:" элементы "; а: 1: {я: 0;a: 7: {s: 7: "item_id"; s: 4: "1_48"; s: 5: "title"; s: 49: "Я не Иисус Мама (полный фильм) - 48-часовой поток";s: 11: "description"; s: 204: "Это - сумка для просмотра фильма" Я не Иисус "на FilmDemic Streaming Streaming в течение 48 часов. После завершения покупки ваша учетная запись будет иметь доступ кch фильм до 48 часов. "; s: 9:" image_url "; s: 144:" https://filmdemic.com/apps/fb-streaming/wp-main/wp-content/themes/fd-fb-stream-wpf-child/library/images/titles/slidersize/im_not_jesus_mommy.jpg";s:11:"product_url";s:46:"http://filmdemic.com/apps/fb-streaming/film-1/";s:5:"price";s:2:"20";s:4:"data";s:37:"film_id=1&wp_user_id=4&view_length=48";}}s:6:"status";s:6:"placed";}

И это приводит к

array (
  'order_id' => '9006710350464',
  'buyer' => '1303912674',
  'app' => '223615011031939',
  'receiver' => '1303912674',
  'amount' => '20',
  'time_placed' => '1326235812',
  'update_time' => '1326235818',
  'data' => '',
  'items' => 
  array (
    0 => 
    array (
      'item_id' => '1_48',
      'title' => 'I'm Not Jesus Mommy (Full Movie) - 48 Hour Stream',
      'description' => 'This is a purcahse to watch I\'m Not Jesus Mommy on FilmDemic Movie Streaming for a period of 48 hours. Once you complete the purchase, your account will have access to watch the movie for up to 48 hours.',
      'image_url' => 'https://filmdemic.com/apps/fb-streaming/wp-main/wp-content/themes/fd-fb-stream-wpf-child/library/images/titles/slidersize/im_not_jesus_mommy.jpg',
      'product_url' => 'http://filmdemic.com/apps/fb-streaming/film-1/',
      'price' => '20',
      'data' => 'film_id=1&wp_user_id=4&view_length=48',
    ),
  ),
  'status' => 'placed',
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...