void extract(array var_array, int [extract_type], string [prefix]);
Cette fonction sert à exporter un tableau vers la table des symboles. Elle prend un tableau associatif var_array et crée les variables dont les noms sont les index de ce tableau, et leur affecte la valeur associée. Pour chaque paire clé/valeur, cette fonction crée une variable, avec les paramètres extract_type et prefix.
extract() vérifie líexistence de la variable avant de la créer. La manière de traiter les collisions est déterminée par extract_type. Ce paramètre peut prendre une des valeurs suivantes :
Si extract_type est omis, extract() utilise EXTR_OVERWRITE par défault.
Notez que prefix níest nécessaire que pour les valeurs de extract_type suivantes : EXTR_PREFIX_SAME et EXTR_PREFIX_ALL.
extract() vérifie que les clés constitue un nom de variable valide, et si cíest le cas, procède à son exportation.
Une utilisation possible de cette fonction est líexportation vers la table des symboles de tableau de variables retourné par la fonction wddx_deserialize().
Exemple 1. extract exemple <? /* Supposons que $var_array est un tableau retourné par wddx_deserialize */ $taille = "grand"; $var_array = array("couleur" => "bleu", "taille" => "moyen", "forme" => "sphere"); extract($var_array, EXTR_PREFIX_SAME, "wddx"); print "$couleur, $taille, $forme, $wddx_taille\n"; ?> |
Líexemple ci dessus va afficher
blue, large, sphere, medium
La variable $taille nía pas été réécrite, car on avait spécifié le paramètre EXTR_PREFIX_SAME, qui a permis la création $wddx_size. Si EXTR_SKIP avait été utilisé, alors $wddx_size níaurait pas été créé. Avec EXTR_OVERWRITE, $taille aurait pris la valeur "moyen", et avec EXTR_PREFIX_ALL, les variables créées seraient $wddx_couleur, $wddx_taille, et $wddx_forme.