Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

serialize

537
28 января 2004 года
Cover
87 / / 14.11.2002
serialize() - интересная штука - в документации написано, что она сохраняет любые переменные в строке, которую можно потом перевести обратно в переменную функцией unserialize().
Я пытался сохранить в БД с помощью этих двух замечательных функций массив, но в результате ничего не получилось.
Во-первых, надо отметить, что массив у меня не слабенький (несколько уровней вложенности; и ключи и значения на разных уровнях вложенности встречаются как строковые, так и числовые; строки содержат кавычки, точки с запятой и пр.).
Когда я посмотрел во что этот массив превратился после serialize(), то увидел, что все мои строки, какие были в массиве, в чистом виде "распаковались", а т.к. serialize() использует кавычки и точки с запятой, то понятно, что unserialize() не сработает.
Даже когда я САМ позаботился о всех символах, которые использует serialize(), всё равно, массив не восстановился.

Кто ни будь работал с этими функциями и были ли проблемы? Может я что не так делаю???

В принципе, я свои проблемы решил, написав собственные функции serialize() и unserialize(), но всё таки интересно, в чём была проблема.
437
30 января 2004 года
Lsd[52r]
106 / / 20.12.1999
Эти функции для работы с объектами. Они поля объектов сохраняют в строку, методы не сохраняют.
537
30 января 2004 года
Cover
87 / / 14.11.2002
Цитата:
Originally posted by Lsd[52r]
Эти функции для работы с объектами. Они поля объектов сохраняют в строку, методы не сохраняют.



Эти функции НЕ для работы с объектами. Т.е. не только с объектами. Вот, что написано в мануале:

Цитата:

string serialize ( mixed value)


serialize() returns a string containing a byte-stream representation of value that can be stored anywhere.

This is useful for storing or passing PHP values around without losing their type and structure.

To make the serialized string into a PHP value again, use unserialize(). serialize() handles all types, except the resource-type. You can even serialize() arrays that contain references to itself. References inside the array/object you are serialize()ing will also be stored.



Другими словами (русскими ;)), эти функции сохраняют всё, кроме ресурсов (ну и методов классов, как уже было замечено).

Кто ни будь работал с этими функциями? Если да, то что вы сохраняли ими и были ли какие ни будь проблемы?

437
31 января 2004 года
Lsd[52r]
106 / / 20.12.1999
Цитата:
Originally posted by Cover

Кто ни будь работал с этими функциями? Если да, то что вы сохраняли ими и были ли какие ни будь проблемы?



работали!!!! работали!! сохраняли объекты! :D :D проблем нет в пхп версии выше 4.1.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог