Dynamischer Zugriff auf Array-Elemente in PHP
In PHP ist es üblich, Array-Werte basierend auf dynamischen Schlüsseln abzurufen. Allerdings kann es schwierig sein, dies mit einem Einzeiler zu erreichen.
Bedenken Sie den folgenden Code:
echo array('a','b','c')[$key];
Dieser Code führt zu einem Fehler, da PHP keine Array-Subskription zulässt Ausdrücke direkt. Um dieses Problem zu lösen, könnten Sie eine Zwischenvariable einführen:
$variable = array('a','b','c'); echo $variable[$key];
Diese Methode funktioniert zwar, ist aber redundant und erstellt eine unnötige Variable.
Der Grund für diese Einschränkung liegt in der PHP-Grammatik, die schränkt die Subskription auf Variablenausdrücke ein. Ausdrücke im Allgemeinen sind nicht erlaubt. Dieses Verhalten unterscheidet sich von vielen anderen Programmiersprachen.
Weitere Beispiele für ungültige Abonnements sind:
$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
Trotz dieser Einschränkung stehen in PHP viele Problemumgehungen für den dynamischen Array-Zugriff zur Verfügung, z :
// 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;
Letztendlich hängt der beste Ansatz für den dynamischen Zugriff auf Array-Elemente in PHP vom spezifischen Anwendungsfall und den Leistungsanforderungen ab.
Das obige ist der detaillierte Inhalt vonWie greife ich in PHP dynamisch auf Array-Elemente zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!