background image

代码如下:
 

$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

将有不同的效果。