var_export
(PHP 4 >= 4.2.0, PHP 5)
var_export -- Retourne le code PHP utilisé pour générer une variable
Description
mixed
var_export ( mixed expression [, bool return] )
var_export() retourne des données structurées
sur la variable donnée. C'est le même principe que
var_dump() mais avec une exception :
le résultat retourné est du code PHP valide.
Liste de paramètres
- expression
La variable que vous voulez exporter.
- return
Si utilisé et mis à TRUE, var_export() retournera
la représentation de la variable au lieu de l'afficher.
Note : Cette fonction utilise en interne
le buffer de sortie avec ce paramètre, il ne peut donc pas être utilisé
dans la fonction de callback ob_start().
Valeurs de retour
Retourne la représentation de la variable lorsque le paramètre
return est utilisé et évalué à TRUE. Autrement,
cette fonction retournera NULL.
Exemples
Exemple 1. Exemple avec var_export()
<?php
$a = array (1, 2, array ("a", "b", "c")); var_export($a);
?>
|
L'exemple ci-dessus va afficher : array (
0 => 1,
1 => 2,
2 =>
array (
0 => 'a',
1 => 'b',
2 => 'c',
),
) |
<?php
$b = 3.1; $v = var_export($b, true); echo $v; // 3.1
?>
|
L'exemple ci-dessus va afficher : |
Exemple 2. Exporter des classes depuis PHP 5.1.0
<?php class A { public $var; } $a = new A; $a->var = 5; var_export($a); ?>
|
L'exemple ci-dessus va afficher : A::__set_state(array(
'var' => 5,
)) |
|
Exemple 3. Utilisation de __set_state (depuis PHP 5.1.0)
<?php class A { public $var1; public $var2;
public static function __set_state($an_array) { $obj = new A; $obj->var1 = $an_array['var1']; $obj->var2 = $an_array['var2']; return $obj; } }
$a = new A; $a->var1 = 5; $a->var2 = 'foo';
eval('$b = ' . var_export($a, true) . ';'); // $b = A::__set_state(array( // 'var1' => 5, // 'var2' => 'foo', // )); var_dump($b); ?>
|
L'exemple ci-dessus va afficher : object(A)#2 (2) {
["var1"]=>
int(5)
["var2"]=>
string(3) "foo"
} |
|
Notes
Note :
Les variables de type ressource ne peuvent être exportées par cette
fonction.