These functions are intended for work with » WDDX.
In order to use WDDX, you will need to install the expat library (which comes with Apache 1.3.7 or higher).
After installing expat compile PHP with --enable-wddx.
PHP 的 Windows 版本已经内置该扩展模块的支持。无需加载任何附加扩展库即可使用这些函数。
本扩展模块在 php.ini 中未定义任何配置选项。
This extension defines a WDDX packet identifier returned by wddx_packet_start().
本扩展模块未定义任何常量。
All the functions that serialize variables use the first element of an array to determine whether the array is to be serialized into an array or structure. If the first element has string key, then it is serialized into a structure, otherwise, into an array.
Example#1 Serializing a single value with WDDX
<?php
echo wddx_serialize_value("PHP to WDDX packet example", "PHP packet");
?>
This example will produce:
<wddxPacket version='1.0'><header comment='PHP packet'/><data> <string>PHP to WDDX packet example</string></data></wddxPacket>
Example#2 Using incremental packets with WDDX
<?php
$pi = 3.1415926;
$packet_id = wddx_packet_start("PHP");
wddx_add_vars($packet_id, "pi");
/* Suppose $cities came from database */
$cities = array("Austin", "Novato", "Seattle");
wddx_add_vars($packet_id, "cities");
$packet = wddx_packet_end($packet_id);
echo $packet;
?>
This example will produce:
<wddxPacket version='1.0'><header comment='PHP'/><data><struct> <var name='pi'><number>3.1415926</number></var><var name='cities'> <array length='3'><string>Austin</string><string>Novato</string> <string>Seattle</string></array></var></struct></data></wddxPacket>
Note: If you want to serialize non-ASCII characters you have to convert your data to UTF-8 first (see utf8_encode() and iconv()).