Код: Выделить всё
unserializeЯ должен сохранить этот массив в базе данных как сериализованную строку, а затем десериализовать его, когда это необходимо.
Код: Выделить всё
array(
'testVar' => "1st line
2nd line
3rd line"
)
Код: Выделить всё
a:1:{s:7:"testVar";s:28:"1st line
2nd line
3rd line";}
Если я установлю s:26, когда php его десериализует, выдаст эту ошибку:
Код: Выделить всё
Notice: unserialize(): Error at offset 51 of 56 bytes
- я копирую и вставляю его в базу данных
- Я использую веб-форму
- Я использую графический интерфейс phpmyadmin
- на разных платформах
- на локальном хосте, в текстовой области веб-формы я вставляю массив вручную (например, приведенный выше)
- отправьте форму
- скрипт php замените \r\n на \n, затем выведите сериализованную строку
- которая строка теперь содержит правильное количество (в данном случае 26)
- скопируйте и вставьте его в базу данных другой платформы (не на локальном хосте, например, с помощью phpmyadmin)
- выполните десериализацию php на этой другой платформе
Я немного не понимаю, как это должно работать...
Я немного не понимаю, как это должно работать...
p>
Мне нужно добавить сериализованный строки в базе данных вручную, а иногда и из веб-формы, так как я могу узнать, какой тип счетчика использовать в зависимости от платформы/машины?
Ps. наверняка есть другие лучшие альтернативы для массива, не являющегося объектом, например json_encode и/или base64, но я вынужден использовать сериализацию...
Подробнее здесь: https://stackoverflow.com/questions/782 ... t-n-vs-r-n
Мобильная версия