In PHP ist es eine häufige Anforderung, die letzten paar Zeichen eines Arrays abzurufen. Normalerweise können wir dazu die Funktion array_slice verwenden. Diese Funktion kann jedoch nur für numerisch indizierte Arrays verwendet werden, was zu Problemen führt, wenn unser Array ein assoziatives Array ist. Daher wird in diesem Artikel eine allgemeinere Methode zum Abrufen der letzten Zeichen eines Arrays vorgestellt.
Methode 1: Verwenden Sie die Funktion array_slice.
Die Funktion array_slice ist eine sehr leistungsstarke Funktion, die zum Abfangen eines bestimmten Fragments in einem Array verwendet werden kann. Mit dieser Funktion können wir die letzten Elemente des Arrays abrufen. Hier ist ein Beispielcode mit der Funktion array_slice:
$arr = [1, 2, 3, 4, 5]; $lastTwo = array_slice($arr, -2, 2); print_r($lastTwo);
Zuerst definieren wir ein Array $arr mit 5 Elementen. Wir möchten die letzten beiden Elemente im Array abrufen, daher ist der erste Parameter das Array selbst, der zweite Parameter ist die Position, an der der Index beginnt, indem eine negative Zahl angegeben wird, um den Beginn des Countdowns anzuzeigen, und der dritte Parameter ist die Länge des Abfangens, auch Holen Sie sich einfach ein paar Elemente. Da wir die letzten beiden Elemente erhalten möchten, beträgt die Kürzungslänge 2.
Das Ausgabeergebnis des obigen Codes ist:
Array ( [3] => 4 [4] => 5 )
Wie Sie sehen können, sind das Ausgabeergebnis die letzten beiden Elemente [4,5].
Wenn Ihr Array ein assoziatives Array ist, müssen Sie natürlich zuerst den Schlüsselnamen des Arrays und dann den entsprechenden Wert basierend auf dem Schlüsselnamen abrufen. Die spezifische Operation ist wie folgt:
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5]; $keys = array_keys($arr); $lastTwoKeys = array_slice($keys, -2, 2); $lastTwoValues = array_intersect_key($arr, array_flip($lastTwoKeys)); print_r($lastTwoValues);
Hier verwenden wir zunächst die Funktion array_keys, um alle Schlüsselnamen des assoziativen Arrays $arr abzurufen. Verwenden Sie dann die Funktion array_slice, um die letzten beiden Schlüssel im Schlüsselarray abzurufen. Verwenden Sie abschließend die Funktion array_intersect_key, um die entsprechenden Werte aus dem Schlüsselarray zu extrahieren, um ein neues Array zu bilden, und geben Sie das Ergebnis aus.
Methode 2: Verwenden Sie die Funktionen array_reverse und array_slice
Zusätzlich zur Funktion array_slice gibt es eine andere Möglichkeit, die letzten paar Elemente des Arrays abzurufen, nämlich use die Kombination der Funktionen array_reverse und array_slice. Die Funktion array_reverse kann ein Array umdrehen und die Funktion array_slice kann zum Abfangen eines Segments eines Arrays verwendet werden.
Hier ist Beispielcode mit den Funktionen array_reverse und array_slice:
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5]; $reversedArray = array_reverse($arr, true); $lastTwoValues = array_slice($reversedArray, 0, 2, true); print_r($lastTwoValues);
Zuerst drehen wir das assoziative Array $arr um. Der zweite hier übergebene Parameter true dient dazu, die Beziehung zwischen dem Schlüsselnamen und dem Wert aufrechtzuerhalten. Verwenden Sie dann die Funktion array_slice, um die ersten beiden Elemente des umgedrehten Arrays abzurufen. Beachten Sie, dass die Indexposition hier bei 0 beginnen sollte, da das Array umgedreht wurde.
Das Ausgabeergebnis des obigen Codes ist:
Array ( [e] => 5 [d] => 4 )
Wie Sie sehen können, besteht das Ausgabeergebnis aus den letzten beiden Elementen [5,4] und ist dasselbe wie das Ausgabeergebnis der ersten Methode.
Zusammenfassung
Ganz gleich, ob Sie die Funktion array_slice oder eine Kombination aus den Funktionen array_reverse und array_slice verwenden, Sie können die letzten Elemente des Arrays problemlos abrufen. Beachten Sie jedoch, dass Sie, wenn Ihr Array ein assoziatives Array ist, zuerst den Schlüsselnamen des Arrays und dann den entsprechenden Wert basierend auf dem Schlüsselnamen abrufen müssen. Bitte beachten Sie dabei auch, dass die Reihenfolge der Schlüsselnamen im Rückgabewert nicht unbedingt mit der im ursprünglichen Array übereinstimmt und daher besondere Sorgfalt erforderlich ist.
Das obige ist der detaillierte Inhalt vonSo erhalten Sie die letzten Zeichen eines Arrays in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!