代码如下:
$a
=
array
('a'=> 'Apple' ,'b' => 'banana', 'c' => 'Coconut');
//序列化数组
$s
= wddx_serialize_value(
$a
);
echo
$s
;
//输出结果(查看输出字符串的源码):<wddxPacket
version='1.0'><header/><data><struct><var name='a'><string>Apple</string></var><var
name='b'><string>banana</string></var><var
name='c'><string>Coconut</string></var></struct></data></wddxPacket>
echo
'<br /><br />';
//反序列化
$o
= wddx_deserialize(
$s
);
print_r(
$o
);
//输出结果:Array ( [a] => Apple [b] => banana 1 => Coconut )
可以看出,XML 标签字符较多,导致这种格式的序列化还是占了很多空间。
小结
上述所有的函数在序列化数组变量时都能正常执行,但运用到对象就不同了。例如
json_encode 序列化对象就会失败。反序列化对象时,unserialize 和
eval
将有不同的效果。