Comment accéder dynamiquement aux éléments d'un tableau en PHP ?

Barbara Streisand
Libérer: 2024-11-13 04:43:02
original
274 Les gens l'ont consulté

How to Access Array Elements Dynamically in PHP?

Accès dynamique aux éléments d'un tableau en PHP

En PHP, il est courant de devoir récupérer les valeurs d'un tableau en fonction de clés dynamiques. Cependant, utiliser une seule ligne pour y parvenir peut être difficile.

Considérez le code suivant :

echo array('a','b','c')[$key];
Copier après la connexion

Ce code entraînera une erreur car PHP n'autorise pas l'abonnement aux tableaux sur expressions directement. Pour résoudre ce problème, vous pouvez introduire une variable intermédiaire :

$variable = array('a','b','c');
echo $variable[$key];
Copier après la connexion

Bien que cette méthode fonctionne, elle est redondante et crée une variable inutile.

La raison de cette limitation réside dans la grammaire de PHP, qui restreint l'indice aux expressions variables. Les expressions en général ne sont pas autorisées. Ce comportement est différent de celui de nombreux autres langages de programmation.

D'autres exemples d'indices non valides incluent :

$x = array(1,2,3);
print ($x)[1]; // Illegal: subscripting a parenthetical expression

function ret($foo) { return $foo; }
echo ret($x)[1]; // Illegal: subscripting a call expression
Copier après la connexion

Malgré cette limitation, il existe de nombreuses solutions de contournement disponibles en PHP pour l'accès aux tableaux dynamiques, telles que :

// Using curly braces
echo array_merge(array('a'), array('b', 'c'))[$key] ?? null;

// Using ternary operator
echo ($key >= 0 && $key <= 2) ? array('a','b','c')[$key] : null;
Copier après la connexion

En fin de compte, la meilleure approche pour accéder dynamiquement aux éléments d'un tableau en PHP dépend du cas d'utilisation spécifique et des exigences de performances.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal