Manuel PHP
Précédent |  | Suivant

# 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`.

## Historique

Version | Description
--- | ---
5.1.0 | Possibilité d'exporter des classes et des tableaux contenant des classes en utilisant la méthode magique __set_state.

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

    3.1

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.

## Voir aussi

var_dump()
print_r()

Précédent | Sommaire | Suivant
var_dump | Niveau supérieur | Paiement par Verisign