Heim > Artikel > Backend-Entwicklung > So erhalten Sie die Schlüssel und Werte eines Arrays in PHP
Wenn Sie ein Array verwenden, müssen Sie das Array häufig durchlaufen. Es ist oft notwendig, ein Array zu durchlaufen und die einzelnen Schlüssel oder Werte abzurufen (oder sowohl Schlüssel als auch Werte abzurufen). Daher überrascht es nicht, dass PHP einige Funktionen für diesen Zweck bereitstellt. Viele Funktionen führen zwei Aufgaben aus: Sie ermitteln nicht nur den Schlüssel oder Wert an der aktuellen Zeigerposition, sondern bewegen den Zeiger auch zur nächsten geeigneten Position.
Den aktuellen Array-Schlüssel abrufen key()
Die Funktion key() gibt den Schlüssel an der aktuellen Zeigerposition in input_array zurück. Es hat die Form:
gemischter Schlüssel (Array-Array)
Das folgende Beispiel gibt den Schlüssel des $fruits-Arrays aus, indem es durch das Array iteriert und den Zeiger bewegt:
$ Fruits = Array("Apple"=>"Red", "Banana"=>"Yellow");
While ($key = Key($Fruits)) {
Printf(" %s < br />", $key);
next($fruits);
}
// Apfel
// Banane
Hinweis: Beim ersten Aufruf von key() wird der Zeiger nicht bewegt. Zu diesem Zweck muss die Funktion next() verwendet werden. Die einzige Funktion dieser Funktion besteht darin, die Aufgabe des Vorrückens des Zeigers abzuschließen.
Erhalten Sie den aktuellen Array-Wert current()
Die Funktion current() gibt den Array-Wert an der aktuellen Zeigerposition im Array zurück. Seine Form ist wie folgt:
gemischter Strom (Array-Array)
Dieses Mal möchten wir den Array-Wert erhalten:
$ Fruits = Array( "Apple"=>"Red", "Banana"=>"Yellow");
while ($fruit = current($fruits)) {
printf("%s < br /> ", $fruit);
next($fruits);
}
// rot
// gelb
Holen Sie sich den aktuellen Array-Schlüssel und -Wert every()
each()-Funktion gibt das aktuelle Schlüssel/Wert-Paar von input_array zurück und rückt den Zeiger um eine Position vor. Seine Form ist wie folgt:
array every(array array)
Das zurückgegebene Array enthält vier Schlüssel, Schlüssel 0 und Schlüssel enthalten den Schlüsselnamen und Schlüssel 1 und Wert enthalten den entsprechende Daten. Befindet sich der Zeiger vor der Ausführung von every() am Ende des Arrays, wird false zurückgegeben.
$fruits = array("apple", "banana", "orange", "pear");
print_r ( every($fruits) );
// Array ( [1] => apple [value] => apple [0] => 0 [key] => )
each() wird oft in Kombination mit list() verwendet Array durchqueren. Dieses Beispiel ähnelt dem vorherigen Beispiel, jedoch wird das gesamte Array in einer Schleife ausgegeben:
$fruits = array("apple", "banana", "orange", "pear");
reset($fruits) ;
while (list($key, $val) = every($fruits))
{
echo "$key => $val
";
}
// 0 => Apfel
// 1 => Banane
// 2 => Orange
// 3 => Birne
Da durch die Zuweisung eines Arrays zu einem anderen Array der ursprüngliche Array-Zeiger zurückgesetzt wird, führt die Zuweisung von $fruits zu einer anderen Variablen innerhalb der Schleife im obigen Beispiel zu einer Endlosschleife.
Damit ist die Array-Durchquerung abgeschlossen.