Deux fonctions spécifiques à PHP permettent de créer des variables à partir des éléments contenus dans un tableau.
La fonction extract() est l'inverse de la fonction compact() vue précédemment. extract() crée une liste de variables à partir du tableau passé en paramètre. Les variables ont pour nom le nom des clés, et pour valeur les valeurs des élements. Cette fonction n'est utilisable qu'avec les tableaux associatifs car PHP n'accepte pas de nom de variable commençant par un nombre.
La fonction list() est comparable dans son résultat à la fonction extract() , mais elle permet de nommer les variables extraites du tableau, et donc de travailler avec des tableaux à indices numériques ou associatifs.
Tout comme array(), list() n'est pas une véritable fonction, mais une structure du langage
L'utilisation de list()
est un peu particlière et la syntaxe
est la suivante :
list($a, $b, $c)
= $tableau;
Si la liste des noms de variables est plus petite que la taille du
tableau, les éléments hors liste du tableau sont ignorés.
Si la liste des noms de variables est plus grande que la taille du
tableau, les variables sans correspondance sont initialisées à null.
Des virgules consécutives
dans la liste permettent de sauter des éléments dans le tableau.