In PHP ist Array_diff_key () eine sehr praktische Funktion, mit der die Schlüsselnamen zweier Arrays verglichen und die im ersten Array vorhandenen Schlüsselnamen zurückgegeben werden können, aber nicht im zweiten Array. In einigen Szenarien müssen wir nicht nur das gefilterte Array erhalten, sondern hoffen auch, die gefilterten Schlüsselnamen zu erhalten. In diesem Artikel wird erläutert, wie diese Funktion implementiert wird.
Die grundlegende Verwendung der Funktion array_diff_key () lautet wie folgt:
$array1 = [
'a' => 1,
'b' => 2,
'c' => 3,
'd' => 4
];
$array2 = [
'b' => 5,
'd' => 6
];
$result = array_diff_key($array1, $array2);
print_r($result);
Ausgangsergebnis:
Array
(
[a] => 1
[c] => 3
)
Wie im obigen Beispiel gezeigt, gibt Array_Diff_key () Schlüsselwertpaare in $ array1 zurück, die nicht in $ array2 angezeigt werden. Wenn wir jedoch die gefilterten Schlüsselnamen erhalten möchten, dh diejenigen, die in $ array1 existieren, aber nicht in $ array2 erscheinen, müssen wir zusätzliche Verarbeitung durchführen.
Um die gefilterten Schlüsselnamen zu erhalten, können wir zuerst Array_Diff_key () verwenden, um das Ergebnis zu erhalten, und dann die entfernten Schlüsselnamen durch Vergleichen der Schlüsselnamen der beiden Arrays finden.
$array1 = [
'a' => 1,
'b' => 2,
'c' => 3,
'd' => 4
];
$array2 = [
'b' => 5,
'd' => 6
];
// Holen Sie sich das gefilterte Array
$result = array_diff_key($array1, $array2);
// Holen Sie sich den gefilterten Schlüsselnamen
$filteredKeys = array_keys($array1);
$remainingKeys = array_keys($result);
$removedKeys = array_diff($filteredKeys, $remainingKeys);
echo "Gefilterte Schlüsselnamen: ";
print_r($removedKeys);
Ausgangsergebnis:
Gefilterte Schlüsselnamen: Array
(
[0] => a
[1] => c
)
Auf diese Weise können wir die Schlüsselnamen ausdrucken, die bei Verwendung von Array_Diff_Key () herausgefiltert werden. Die spezifische Methode besteht darin, zuerst alle Schlüsselnamen in $ array1 zu erhalten und dann Array_Diff () zu verwenden, um die Schlüsselnamen, die nicht in $ Ergebnis sind, herauszufinden und schließlich die gefilterten Schlüsselnamen zu erhalten.
Über das obige Beispiel können wir sehen, wie Sie array_diff_key () verwenden, um Schlüsselnamen von Arrays zu vergleichen und die Schlüsselnamen herauszufiltern. Dieser Vorgang ist in PHP sehr häufig, insbesondere beim Reinigen und Vergleich von Array -Daten. Wenn Sie die gefilterten Schlüsselnamen beibehalten möchten, können Sie sich auf die Methode in diesem Artikel verweisen, um dies zu erreichen.