In PHP ist die Funktion array_diff_key () eine sehr nützliche Array-Funktion, mit der wir angegebene Schlüsselwertpaare aus einem Array entfernen können. Diese Funktion gibt ein Array zurück, indem die Schlüssel von zwei Arrays verglichen werden, die Schlüsselwertpaare im ersten Array enthalten, jedoch nicht im zweiten Array.
array_diff_key(array $array1, array $array2, array ...$arrays): array
$ array1 : Das Array zur Durchführung der "Subtraktion" -Operation.
$ array2 : Das Array, das ausgeschlossen werden muss, entfernen die Elemente in $ Array1 , die den gleichen Schlüssel wie $ Array2 haben.
... $ Arrays : Es können mehrere Arrays übergeben werden, um Tasten in mehreren Arrays weiter auszuschließen.
Diese Funktion gibt ein neues Array zurück, das die Elemente in $ array1 enthält, deren Schlüssel nicht in $ array2 oder anderen Arrays existiert.
Angenommen, wir haben das folgende Array, aus dem wir einige unerwünschte Schlüsselwertpaare entfernen möchten.
$array1 = [
'name' => 'John',
'age' => 25,
'city' => 'New York',
'country' => 'USA'
];
$array2 = [
'age' => 0,
'city' => ''
];
// verwenden array_diff_key Array entfernen $array1 Intern 'age' Und 'city' Schlüsselwertpaare
$result = array_diff_key($array1, $array2);
print_r($result);
Ausgabe:
Array
(
[name] => John
[country] => USA
)
In diesem Beispiel entfernen wir die Tasten "Alter" und "Stadt" von $ array1 über die Funktion array_diff_key () . Diese Funktion vergleicht die Schlüssel in $ array1 und $ array2 und nur diese Schlüssel in $ array1, die nicht in $ array2 sind.
Die Funktion array_diff_key () unterstützt auch mehrere Arrays als Parameter. Das Folgende ist ein Beispiel, das zeigt, wie mehrere Arrays zum Entfernen von Schlüsselwertpaaren verwendet werden.
$array1 = [
'name' => 'Alice',
'age' => 30,
'gender' => 'female',
'email' => 'alice@m66.net'
];
$array2 = [
'age' => 0,
'gender' => ''
];
$array3 = [
'email' => ''
];
// verwenden array_diff_key 去除多个数组Intern键
$result = array_diff_key($array1, $array2, $array3);
print_r($result);
Ausgabe:
Array
(
[name] => Alice
)
In diesem Beispiel entfernen wir gleichzeitig das Alter "Alter" , "Geschlecht" und "E -Mail" von $ Array1 . Die Funktion prüft, ob sich der Schlüssel in $ array1 in $ array2 und $ array3 befindet, und wenn ja, wird das Schlüsselwertpaar entfernt.
Halten Sie die Array -Schlüsselkonsistenz : Array_diff_key () vergleicht nur die Schlüssel des Arrays, unabhängig vom Wert. Wenn Sie Werte vergleichen müssen, können Sie array_diff () oder array_diff_assoc () verwenden.
Leere Array -Verarbeitung : Wenn das übergebene Array leer ist, kehren Sie zum ursprünglichen Array zurück, da es keine Elemente gibt, die verglichen werden können.
Multidimensionales Array : Die Funktion array_diff_key () vergleicht nur die Taste der ersten Ebene des Arrays. Wenn das Array ein mehrdimensionales Array ist, muss Array_Diff_key () Schicht für Schicht angewendet werden.
Durch die Funktion array_diff_key () bietet PHP eine prägnante und effiziente Möglichkeit, das Array zu "subtraction", um unnötige Schlüsselwertpaare zu entfernen. Sie können diese Funktion verwenden, um die Kontrolle des Arrays fein zu steuern, unnötige Elemente zu entfernen und den Code prägnanter und wartbarer zu gestalten.