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

search for in the

Analyseur syntaxique XML> <wddx_serialize_value
[edit] Last updated: Fri, 25 May 2012

view this page in

wddx_serialize_vars

(PHP 4, PHP 5)

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



Analyseur syntaxique XML> <wddx_serialize_value
[edit] Last updated: Fri, 25 May 2012
 
add a note 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>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites