PHP: wddx_serialize_vars - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

wddx_unserialize wddx_serialize_value

Last updated: Sat, 27 Jan 2007

view this page in

# wddx_serialize_vars

(PHP 3 >= 3.0.7, PHP 4, PHP 5)

wddx_serialize_vars -- Serialize variables into a WDDX packet

## Description

string wddx_serialize_vars ( mixed var_name [, mixed ...] )

wddx_serialize_vars() is used to create a WDDX packet with a structure that contains the serialized representation of the passed variables.

wddx_serialize_vars() takes a variable number of arguments, each of which can be either a string naming a variable or an array containing strings naming the variables or another array, etc.

Пример 1. wddx_serialize_vars() example

`<?php
$a = 1;
$b = 5.5;
$c = array("blue", "orange", "violet");
$d = "colors";
$clvars = array("c", "d");
echo wddx_serialize_vars("a", "b", $clvars);
?>`

The above example will produce:

    <wddxPacket version='1.0'><header/><data><struct><var name='a'><number>1</number></var>
    <var name='b'><number>5.5</number></var><var name='c'><array length='3'>
    <string>blue</string><string>orange</string><string>violet</string></array></var>
    <var name='d'><string>colors</string></var></struct></data></wddxPacket>

add a note User Contributed Notes
wddx_serialize_vars
kangus at jaga dot us
13-Oct-2003 03:57
`A function to use for dates with PHP & WDDX
getdate()
$ta="<FORM><TEXTAREA rows=15 cols=80>" ;
$te="</TEXTAREA></FORM>";
$packet_id=wddx_packet_start("Date Example--");
$myDate=getdate();
wddx_add_vars($packet_id,'myDate');
$package=wddx_packet_end($packet_id);
print($ta.$package.$te);
Produces:
<wddxPacket version='1.0'><header><comment>Date Example--</comment></header>
<data><struct><var name='myDate'>
<struct><var name='seconds'><number>12</number></var>
<var name='minutes'><number>55</number></var>
<var name='hours'><number>1</number></var>
<var name='mday'><number>13</number></var>
<var name='wday'><number>1</number></var>
<var name='mon'><number>10</number></var>
<var name='year'><number>2003</number></var>
<var name='yday'><number>285</number></var>
<var name='weekday'><string>Monday</string></var>
<var name='month'><string>October</string></var>
<var name='0'><number>1066031712</number>
</var></struct></var></struct></data></wddxPacket>`
tychay at alumni dot caltech dot edu
31-Mar-2002 12:15
`The above feature will cause a slight trouble since the name of the variable will always be "wddxtemp" but you can use preg_replace to fix that.
Also, a better approach is to serialize the entire class. WDDX will that write a reserved "php_class_name" variable which can be used to reconstruct the class during a deserialize.`
tychay at alumni dot caltech dot edu
30-Mar-2002 10:49
`You can use globals to get around the above in classes:
<?php
class Test
{
var $str;
var $wddx;
function Test()
{
$this->str = "test";
$this->wddx_serialize($this->str);
header('Content-Type: text/xml');
echo ($this->wddx);
}
function wddx_serialize($var) {
global $wddxtemp;
unset($wddxtemp);
$wddxtemp = $var;
$this->wddx = wddx_serialize_vars("wddxtemp");
}
}
new Test();
?>
-terry`
tychay at alumni dot caltech dot edu
30-Mar-2002 10:45
`You can use globals to get around the above in classes:
<?php
class Test
{
var $str;
var $wddx;
function Test()
{
$this->str = "test";
$this->wddx_serialize($this->str);
header('Content-Type: text/xml');
echo ($this->wddx);
}
function wddx_serialize($var) {
global $wddxtemp;
unset($wddxtemp);
$wddxtemp = $var;
$this->wddx = wddx_serialize_vars("wddxtemp");
}
}
new Test();
?>
-terry`
christian dot knoflach at gmx dot at
21-May-2001 03:56
`Be careful using WDDX - functions on object variables. As I just had to find out the following won't work:
<?php
class Test
{
var $str;
var $wddx;
function Test()
{
$this->str = "test";
$this->wddx = wddx_serialize_vars("this->str");
print(htmlentities($this->wddx));
}
}
new Test();
?>
That's what you'll get:
<wddxPacket version='1.0'><header/><data><struct></struct></data></wddxPacket>`
add a note
wddx_unserialize wddx_serialize_value

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 10:36:09 2007 PST