In der PHP-Programmierung sind Arrays ein sehr häufiger Datentyp und Arrays müssen häufig bearbeitet werden. Manchmal müssen wir jedoch bestimmte Schlüssel aus einem Array ausschließen und andere beibehalten. In diesem Artikel wird erläutert, wie Sie Array-Schlüssel mit PHP ausschließen.
1. Verwenden Sie die Unset-Funktion
Die Unset-Funktion kann ein Schlüssel-Wert-Paar löschen. Wenn ein Schlüssel als Parameter an die Unset-Funktion übergeben wird, wird der Schlüssel gelöscht.
Das Folgende ist ein Beispiel für die Verwendung der unset-Funktion zum Ausschließen eines Array-Schlüssels:
$my_array = array( 'foo' => 'bar', 'john' => 'doe', 'mary' => 'jane' ); unset($my_array['foo']); print_r($my_array); // Array ( [john] => doe [mary] => jane )
Im obigen Beispiel wird der Schlüssel „foo“ im Array $my_array durch die unset-Funktion gelöscht. Wir können sehen, dass es keinen gibt Schlüssel im gedruckten Array.
Wir können also die Funktion „unset“ verwenden, um sie einzeln zu löschen, indem wir alle Schlüssel durchlaufen, die im Array ausgeschlossen werden sollen.
Das Folgende ist ein Beispiel für die Verwendung der unset-Funktion zum Ausschließen mehrerer Array-Schlüssel:
$my_array = array( 'foo' => 'bar', 'john' => 'doe', 'mary' => 'jane', 'jane' => 'smith' ); $exclude_keys = array('foo', 'mary'); foreach ($exclude_keys as $key) { unset($my_array[$key]); } print_r($my_array); // Array ( [john] => doe [jane] => smith )
Im obigen Beispiel wird eine foreach-Schleife verwendet, um das Array der auszuschließenden Schlüssel $exclude_keys zu durchlaufen, und dann werden sie aus dem gelöscht Array wiederum durch die unset-Funktion.
2. Verwenden Sie die Funktion array_diff_key
PHP bietet eine sehr praktische Funktion array_diff_key, mit der Sie die Schlüssel zweier Arrays vergleichen und die Differenz zurückgeben können.
Das Folgende ist ein Beispiel für die Verwendung der Funktion array_diff_key zum Ausschließen mehrerer Array-Schlüssel:
$my_array = array( 'foo' => 'bar', 'john' => 'doe', 'mary' => 'jane', 'jane' => 'smith' ); $exclude_keys = array('foo', 'mary'); $filtered_array = array_diff_key($my_array, array_combine($exclude_keys, array_fill(0, count($exclude_keys), null))); print_r($filtered_array); // Array ( [john] => doe [jane] => smith )
Im obigen Beispiel werden die Funktionen array_combine und array_fill verwendet, um ein Array gleicher Länge mit allen Nullwerten zu generieren, und dann die Funktion array_diff_key wird verwendet, um $ zurückzugeben. Die Differenz zwischen my_array und dem Array mit allen leeren Schlüsseln, also ohne alle Schlüssel im Array $exclude_keys.
3. Verwenden Sie die Funktion array_filter.
Verwenden Sie in PHP die Funktion array_filter, um das Array zu filtern und die entsprechenden Array-Elemente zurückzugeben. Da es eine Rückruffunktion bereitstellt, können wir eine Rückruffunktion schreiben, um zu bestimmen, ob ein bestimmter Schlüssel ausgeschlossen werden muss.
Hier ist ein Beispiel für die Verwendung der Funktion array_filter zum Ausschließen mehrerer Array-Schlüssel:
$my_array = array( 'foo' => 'bar', 'john' => 'doe', 'mary' => 'jane', 'jane' => 'smith' ); $exclude_keys = array('foo', 'mary'); $filtered_array = array_filter($my_array, function($key) use ($exclude_keys) { return !in_array($key, $exclude_keys); }, ARRAY_FILTER_USE_KEY); print_r($filtered_array); // Array ( [john] => doe [jane] => smith )
Im obigen Beispiel haben wir eine anonyme Funktion definiert und das Array $exclude_keys mit dem Schlüsselwort use an sie übergeben. Die Funktion dieser anonymen Funktion besteht darin, dass, wenn ein Array-Schlüssel im Array $exclude_keys vorhanden ist, false zurückgegeben wird, was darauf hinweist, dass er herausgefiltert werden muss. Schließlich übergeben wir diese anonyme Funktion als Callback-Funktion an die Funktion array_filter. Wenn wir die Funktion array_filter verwenden, geben wir den dritten Parameter als ARRAY_FILTER_USE_KEY an, was angibt, dass wir die Rückruffunktion verwenden möchten, um die Schlüssel des Arrays zu filtern.
4. Verwenden Sie die Funktionen array_keys und array_diff
Schließlich können wir auch die Funktionen array_keys und array_diff verwenden, um Array-Schlüssel auszuschließen. Die spezifische Methode besteht darin, zuerst die Funktion array_keys zu verwenden, um alle Schlüssel des Arrays abzurufen, dann die Funktion array_diff zu verwenden, um die Schlüssel abzurufen, die beibehalten werden müssen, und diese Schlüssel zum Erstellen eines neuen Arrays zu verwenden.
Das Folgende ist ein Beispiel für die Verwendung der Funktionen array_keys und array_diff, um mehrere Array-Schlüssel auszuschließen:
$my_array = array( 'foo' => 'bar', 'john' => 'doe', 'mary' => 'jane', 'jane' => 'smith' ); $exclude_keys = array('foo', 'mary'); $filtered_keys = array_diff(array_keys($my_array), $exclude_keys); $filtered_array = array_intersect_key($my_array, array_combine($filtered_keys, $filtered_keys)); print_r($filtered_array); // Array ( [john] => doe [jane] => smith )
Im obigen Beispiel verwenden Sie zuerst die Funktion array_keys, um alle Schlüssel von $my_array abzurufen, und verwenden Sie dann die Funktion array_diff zum Herausfiltern die Schlüssel, die aufbewahrt werden müssen. Verwenden Sie dann die Funktion array_combine, um die gefilterten Schlüssel in ein Array mit denselben Schlüsselwerten umzuwandeln, und verwenden Sie schließlich die Funktion array_intersect_key, um das gefilterte Array zurückzugeben.
Zusammenfassung
PHP bietet mehrere Methoden zum Ausschließen von Array-Schlüsseln, und wir können verschiedene Methoden verwenden, um mit unterschiedlichen tatsächlichen Situationen umzugehen. Insbesondere können wir die Funktionen unset, array_diff_key, array_filter, array_keys und array_diff verwenden, um diesen Vorgang abzuschließen. Es ist wichtig zu beachten, dass wir bei der Verwendung dieser Methoden sorgfältig mit Array-Schlüsseln umgehen müssen, um zu vermeiden, dass unnötige Schlüssel versehentlich gelöscht oder beibehalten werden.
Das obige ist der detaillierte Inhalt vonSo schließen Sie Array-Schlüssel mit PHP aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!