Accès dynamique aux tableaux en PHP [Original : accéder à la valeur du tableau à la volée]
PHP offre la possibilité d'accéder aux valeurs du tableau en utilisant la notation entre crochets ([]). Cependant, un problème courant est l'incapacité d'y parvenir directement lorsque vous travaillez avec des expressions.
Problème :
Dans l'exemple suivant, tenter d'accéder à une valeur de tableau en utilisant une expression entre parenthèses donne lieu à un erreur :
echo array('a', 'b', 'c')[$key];
Solution :
La raison de cette erreur est une limitation de la grammaire de PHP. La notation en indice n'est valide que pour les expressions variables, pas pour les expressions générales. Pour surmonter cela, vous pouvez utiliser une variable intermédiaire :
$variable = array('a', 'b', 'c'); echo $variable[$key];
Explication technique :
La grammaire PHP n'autorise pas la notation en indice sur les expressions. Cela signifie que vous ne pouvez pas l'appliquer au résultat d'un appel de fonction, aux parenthèses ou à d'autres expressions. Ce comportement diffère des autres langages où il est possible de résoudre des indices par rapport à des expressions.
Exemples supplémentaires d'indices invalides :
$x = array(1, 2, 3); print ($x)[1]; // Invalid: Subscripted expression is a parenthetical expression. function ret($foo) { return $foo; } echo ret($x)[1]; // Invalid: Subscripted expression is a call expression.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!