所有序列化变量的函数都使用数组的第一个元素来确定数组是序列化为数组还是结构。如果第一个元素具有字符串键,则将其序列化为结构,否则序列化为数组。
示例 #1 使用 WDDX 序列化单个值
<?php
echo wddx_serialize_value("PHP to WDDX packet example", "PHP packet");
?>
此示例将生成
<wddxPacket version='1.0'><header comment='PHP packet'/><data> <string>PHP to WDDX packet example</string></data></wddxPacket>
示例 #2 使用 WDDX 的增量数据包
<?php
$pi = 3.1415926;
$packet_id = wddx_packet_start("PHP");
wddx_add_vars($packet_id, "pi");
/* 假设 $cities 来自数据库 */
$cities = array("Austin", "Novato", "Seattle");
wddx_add_vars($packet_id, "cities");
$packet = wddx_packet_end($packet_id);
echo $packet;
?>
此示例将生成
<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>
注意:
字符串应使用 UTF-8 编码;要处理其他编码,请首先使用 mb_convert_encoding()、UConverter::transcode() 或 iconv() 转换字符串。