Wie kann ich PHP verwenden, um festzustellen, ob die Schlüssel von zwei Arrays konsistent sind?
Während des Entwicklungsprozesses stoßen Sie häufig auf Situationen, in denen Sie feststellen müssen, ob die Schlüssel von zwei Arrays konsistent sind. PHP bietet viele bequeme Funktionen, um Arrays zu manipulieren, und es gibt Methoden, mit denen wir feststellen können, ob die Array -Tasten konsistent sind. In diesem Artikel wird vorgestellt, wie PHP verwendet wird, um festzustellen, ob die Schlüssel von zwei Arrays konsistent sind.
Die Funktion array_keys () kann alle Schlüsselnamen im Array zurückgeben, während die Funktion sort () das Array sortieren kann. So können wir zuerst die Schlüsselnamen der beiden Arrays erhalten, sie dann sortieren und vergleichen.
<?php
$array1 = [
'apple' => 1,
'banana' => 2,
'cherry' => 3
];
$array2 = [
'banana' => 5,
'apple' => 1,
'cherry' => 7
];
// Holen Sie sich den Schlüsselnamen des Arrays
$keys1 = array_keys($array1);
$keys2 = array_keys($array2);
// Sortieren Sie die Schlüsselnamen
sort($keys1);
sort($keys2);
// Vergleichen Sie, ob die Schlüsselnamen der beiden Arrays konsistent sind
if ($keys1 == $keys2) {
echo "Die Schlüssel der beiden Arrays sind konsistent!";
} else {
echo "Die Schlüssel der beiden Arrays sind inkonsistent!";
}
?>
Verwenden Sie Array_Keys (), um alle Schlüssel für zwei Arrays zu erhalten.
Verwenden Sie Sort () , um das Keyname -Array zu sortieren.
Vergleichen Sie, ob das sortierte Schlüsselname -Array konsistent ist.
Wenn es konsistent ist, bedeutet dies, dass die Schlüssel der beiden Arrays gleich sind; Wenn es inkonsistent ist, bedeutet dies, dass die Schlüssel unterschiedlich sind.
Die Funktion array_diff_key () wird verwendet, um die Schlüssel von zwei Arrays zu vergleichen und Tasten zurückzugeben, die im ersten Array vorhanden sind, jedoch nicht im zweiten Array. Wenn das zurückgegebene Ergebnis ein leeres Array ist, bedeutet dies, dass die Schlüssel der beiden Arrays konsistent sind.
<?php
$array1 = [
'apple' => 1,
'banana' => 2,
'cherry' => 3
];
$array2 = [
'banana' => 5,
'apple' => 1,
'cherry' => 7
];
// verwenden array_diff_key Stellen Sie fest, ob die Schlüssel konsistent sind
$diff1 = array_diff_key($array1, $array2);
$diff2 = array_diff_key($array2, $array1);
if (empty($diff1) && empty($diff2)) {
echo "Die Schlüssel der beiden Arrays sind konsistent!";
} else {
echo "Die Schlüssel der beiden Arrays sind inkonsistent!";
}
?>
Array_diff_key ($ array1, $ array2) gibt einen Schlüssel zurück, der in $ array1 vorhanden ist, aber in $ array2 nicht existiert.
array_diff_key ($ array2, $ array1) gibt einen Schlüssel zurück, der in $ array2 vorhanden ist, aber in $ array1 nicht existiert.
Wenn beide Ergebnisse leere Arrays sind, bedeutet dies, dass die Schlüssel der beiden Arrays genau gleich sind.
Die Funktion array_intersect_key () wird verwendet, um die Schlüssel von zwei Arrays zu vergleichen und die in beiden Arrays existierenden Schlüssel zurückzugeben. Wir können beurteilen, ob die Schlüssel konsistent sind, indem wir sie mit der Anzahl der Schlüssel im ursprünglichen Array vergleichen.
<?php
$array1 = [
'apple' => 1,
'banana' => 2,
'cherry' => 3
];
$array2 = [
'banana' => 5,
'apple' => 1,
'cherry' => 7
];
// Holen Sie sich den Schnittpunkt von zwei Arrayschlüssel
$commonKeys = array_intersect_key($array1, $array2);
// Vergleich der Anzahl der Schnittschlüsse mit der Anzahl der Schlüssel des Originalarrays
if (count($commonKeys) == count($array1) && count($commonKeys) == count($array2)) {
echo "Die Schlüssel der beiden Arrays sind konsistent!";
} else {
echo "Die Schlüssel der beiden Arrays sind inkonsistent!";
}
?>
Verwenden Sie Array_intersect_key (), um die gemeinsamen Schlüssel von zwei Arrays zu erhalten.
Vergleichen Sie, ob die Anzahl der üblichen Schlüssel der Anzahl der Schlüssel im ursprünglichen Array entspricht. Wenn dies gleich ist, bedeutet dies, dass die Schlüssel der beiden Arrays konsistent sind.
In PHP gibt es mehrere Möglichkeiten, um festzustellen, ob die Schlüssel von zwei Arrays konsistent sind. Sie können die am besten geeignete Methode entsprechend Ihren spezifischen Anforderungen auswählen. Wenn Sie nur feststellen müssen, ob die Schlüssel gleich sind und sich nicht um die Bestellung kümmern, können Sie Array_Diff_Key () oder Array_intersect_key () verwenden; Wenn Sie die Reihenfolge berücksichtigen müssen, ist eine Kombination von Array_Keys () und Sort () eine gute Wahl.
Unabhängig davon, welche Methode sie entsprechend Ihrem Anwendungsszenario flexibel verwendet werden kann, um die Aufgabe besser zu erledigen.