Rechercher une fonction PHP

var_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

var_exportRetourne le code PHP utilisé pour générer une variable

Description

mixed var_export ( mixed $expression [, bool $return = false ] )

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.

  

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.

  

Notes

Note:

Lorsque le paramètre return est utilisé, cette fonction utilise en interne le buffer de sortie, il ne peut donc pas être utilisé dans la fonction de rappel ob_start().

  

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 (12, 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($btrue);
echo 
$v// 3.1

?>

L'exemple ci-dessus va afficher :

3.1

Exemple #2 Exporter des classes depuis PHP 5.1.0

<?php
class { 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($atrue) . ';'); // $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.

Note:

var_export() ne gère pas les références circulaires car il serait impossible de générer un code PHP analysable pour ce type de données. Si vous voulez faire quelque chose avec la représentation complète d'un tableau ou d'un objet, utilisez la fonction serialize().

Avertissement

Lorsque la fonction var_export() exporte des objets, l'anti-slash initial n'est pas inclus dans l'espace de nom de la classe et ce, pour un maximum de compatibilité.

Note:

Pour être capable d'évaluer le PHP généré par var_export(), tous les objets analysés doivent implémenter la méthode magique __set_state. Notez que StdClass n'implémente pas __set_state().

  

Voir aussi

  • print_r() - Affiche des informations lisibles pour une variable
  • serialize() - Génère une représentation stockable d'une valeur
  • var_dump() - Affiche les informations d'une variable

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-function.var-export.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut