<?php
// Our assoc array
$talk = array (
'id' => 4,
'title' => 'Dynamic Images in PHP - How and When to Use Them',
'date' => '2002-04-29',
'speaker' => 'Alison Gianotto',
'url' => 'http://www.sdphp.net/talks/ag_image'
);
// we can serialize the value and
// create the packet in one step
$ser1 = wddx_serialize_vars('talk');
echo format_packet($ser1, 'In one step');
// or we could serialize it in several steps
$packet = wddx_packet_start("One of Alison's talks at SDPHP");
wddx_add_vars($packet, 'talk');
$ser2 = wddx_packet_end($packet);
echo format_packet($ser2, 'Making the packet by hand');
// now let's deserialize the packet
$vars = wddx_deserialize($ser2);
echo "<pre>\n<small>\n";
print_r($vars);
echo "</small>\n</pre>\n";
function format_packet($pckt, $title='wddx packet') {
$re = '/^[^<]/';
$pckt = str_replace('>', ">\n", $pckt);
$t = explode("\n", $pckt);
$s = "[ $title ]<br>\n<pre>\n";
foreach ($t as $line) {
if (trim($line) == '') {
continue;
} elseif (preg_match($re, $line)) {
$tmp = explode("\n",str_replace('<', "\n<", $line));
$s .= ' <span style="color: blue;">'.
$tmp[0]."</span>\n".
htmlspecialchars($tmp[1])."\n";
} else {
$s .= htmlspecialchars($line)."\n";
}
}
$s .= "</pre>\n<hr>\n";
return $s;
}
?>
[ In one step ]
<wddxPacket version='1.0'>
<header/>
<data>
<struct>
<var name='talk'>
<struct>
<var name='id'>
<number>
4
</number>
</var>
<var name='title'>
<string>
Dynamic Images in PHP - How and When to Use Them
</string>
</var>
<var name='date'>
<string>
2002-04-29
</string>
</var>
<var name='speaker'>
<string>
Alison Gianotto
</string>
</var>
<var name='url'>
<string>
http://www.sdphp.net/talks/ag_image
</string>
</var>
</struct>
</var>
</struct>
</data>
</wddxPacket>
[ Making the packet by hand ]
<wddxPacket version='1.0'>
<header>
<comment>
One of Alison's talks at SDPHP
</comment>
</header>
<data>
<struct>
<var name='talk'>
<struct>
<var name='id'>
<number>
4
</number>
</var>
<var name='title'>
<string>
Dynamic Images in PHP - How and When to Use Them
</string>
</var>
<var name='date'>
<string>
2002-04-29
</string>
</var>
<var name='speaker'>
<string>
Alison Gianotto
</string>
</var>
<var name='url'>
<string>
http://www.sdphp.net/talks/ag_image
</string>
</var>
</struct>
</var>
</struct>
</data>
</wddxPacket>
Array
(
[talk] => Array
(
[id] => 4
[title] => Dynamic Images in PHP - How and When to Use Them
[date] => 2002-04-29
[speaker] => Alison Gianotto
[url] => http://www.sdphp.net/talks/ag_image
)
)