PHP
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: Fri, 20 Jun 2008

view this page in

wddx_serialize_vars

(PHP 4, PHP 5)

wddx_serialize_vars — Enregistre plusieurs valeurs dans un paquet WDDX

Description

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

Sert à créer un paquet WDDX avec une structure qui contient la représentation des variables passées en arguments.

Liste de paramètres

Cette fonction prend un nombre variable de paramètres.

var_name

Peut être soit une chaîne de caractères nommant une variable ou un tableau contenant des noms de variables ou d'autres tableaux, etc..

...

Valeurs de retour

Retourne le paquet WDDX, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec wddx_serialize_vars()

<?php
$a 
1;
$b 5.5;
$c = array("blue""orange""violet");
$d "colors";

$clvars = array("c""d");
echo 
wddx_serialize_vars("a""b"$clvars);
?>

L'exemple ci-dessus va afficher :

<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>



wddx_unserialize> <wddx_serialize_value
Last updated: Fri, 20 Jun 2008
 
add a note add a note User Contributed Notes
wddx_serialize_vars
kangus at jaga dot us
13-Oct-2003 12: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 10: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
31-Mar-2002 08: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
31-Mar-2002 08: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
22-May-2001 12: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>

wddx_unserialize> <wddx_serialize_value
Last updated: Fri, 20 Jun 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites