Предположим, что нужно сохранить какой-то массив (причем неизвестно заранее, сколько у него измерений) в файле, чтобы потом, при следующем запуске сценария, его аккуратно загрузить и продолжить работу.
Функция Serialize () возвращает строку, являющуюся упакованным экви¬валентом некоего объекта $Obj, переданного во втором параметре.
string Serialize(mixed $0bj)
При этом совершенно не важно, что это за объект: массив, целое число.
Например:
$A=array("a"=>"aа", "b"=>"bb", "c"=>array("x"=>"xx"));
$st=Serialize($A) ;
echo $st;
// выведется что-то типа нечто:
//
а:2:{s:l:"a";s:2:"aa";s:l:"b";s:2:"bb";s:l:"c";a:l:{s:1:"x";s:2:"xx";}}
Функция Unserialize (), наоборот, принимает в лице своего параметра $st строку, ранее созданную при помощи Serialize (), и возвращает целиком объект, который был упакован.
mixed Unserialize(string $st)
Например:
$a=array(1,2,3);
$s=Serialize($a) ;
$a=”bogus”;
echo count($a); // выводит 1
$a=Unserialize($s) ;
echo count($a); // выводит 3
Сериализовать можно не только массивы, но и вообще что угодно. Однако в большинстве случаев все-таки используются массивы. Ме¬ханизм сериализации часто применяется также и для того, чтобы сохранить какой-то объект в базе данных, и тогда без сериализации практически не обойтись.
Похожие записи
No user прокомментировали сообщение
Оставить комментарий