Heim >Backend-Entwicklung >PHP-Problem >So ermitteln Sie, ob zwei Array-Schlüssel in PHP gleich sind

So ermitteln Sie, ob zwei Array-Schlüssel in PHP gleich sind

PHPz
PHPzOriginal
2023-04-24 15:50:35668Durchsuche

In PHP gibt es viele Möglichkeiten, festzustellen, ob die Schlüssel zweier Arrays gleich sind. In diesem Artikel werden wir einige dieser Methoden und ihre Anwendungsfälle untersuchen.

Methode 1: Verwenden Sie die Funktion array_keys

Die Funktion array_keys wird verwendet, um alle Schlüsselnamen (Schlüssel) im Array abzurufen und ein Array mit den Schlüsselnamen zurückzugeben. Wir können die Funktion array_keys verwenden, um die Schlüsselarrays der beiden Arrays abzurufen, und dann die Funktion array_diff verwenden, um die Unterschiede zwischen den beiden Schlüsselarrays zu vergleichen. Wenn der Unterschied ein leeres Array ist, bedeutet dies, dass die Schlüsselnamen der beiden Arrays gleich sind.

Das Folgende ist ein Beispielcode, der die Funktion array_keys verwendet, um Array-Schlüsselnamen zu vergleichen:

$array1 = array('foo' => 1, 'bar' => 2, 'baz' => 3);
$array2 = array('foo' => 4, 'bar' => 5, 'baz' => 6);

if (array_diff(array_keys($array1), array_keys($array2)) === array()) {
    echo "两个数组的键名相同";
} else {
    echo "两个数组的键名不同";
}

Das Ausgabeergebnis ist: Die Schlüsselnamen der beiden Arrays sind gleich

Methode 2: Verwenden Sie die Funktion array_diff_key

Der array_diff_key Die Funktion wird verwendet, um die beiden Arrays Schlüsselnamen zu vergleichen. Sie gibt ein neues Array zurück, das aus Schlüsseln besteht, die nur im ersten Array, aber nicht im zweiten Array vorhanden sind. Mit dieser Funktion können wir feststellen, ob die Schlüsselnamen der beiden Arrays identisch sind. Wenn das neue zurückgegebene Array leer ist, bedeutet dies, dass die Schlüsselnamen der beiden Arrays identisch sind.

Das Folgende ist ein Beispielcode, der die Funktion array_diff_key verwendet, um Array-Schlüsselnamen zu vergleichen:

$array1 = array('foo' => 1, 'bar' => 2, 'baz' => 3);
$array2 = array('foo' => 4, 'bar' => 5, 'baz' => 6);

if (array_diff_key($array1, $array2) === array()) {
    echo "两个数组的键名相同";
} else {
    echo "两个数组的键名不同";
}

Das Ausgabeergebnis ist: Die Schlüsselnamen der beiden Arrays sind gleich

Methode 3: Verwenden Sie die Funktion ksort

Der ksort Die Funktion wird verwendet, um Arrays nach Schlüsselnamen zu vergleichen und in aufsteigender Reihenfolge zu sortieren. Wir können die beiden Arrays zunächst mit der Funktion ksort sortieren und dann die beiden Arrays mit dem Gleichheitsoperator (==) vergleichen. Wenn sie gleich sind, bedeutet dies, dass die Schlüsselnamen der beiden Arrays gleich sind.

Das Folgende ist ein Beispielcode, der die ksort-Funktion zum Vergleichen von Array-Schlüsselnamen verwendet:

$array1 = array('foo' => 1, 'bar' => 2, 'baz' => 3);
$array2 = array('baz' => 6, 'bar' => 5, 'foo' => 4);

ksort($array1);
ksort($array2);

if ($array1 == $array2) {
    echo "两个数组的键名相同";
} else {
    echo "两个数组的键名不同";
}

Das Ausgabeergebnis lautet: Die Schlüsselnamen der beiden Arrays sind gleich

Zusammenfassung

Die oben genannten drei Methoden können alle bestimmen, ob Die Schlüsselnamen der beiden Arrays sind identisch. Die genaue zu verwendende Methode hängt von der Situation ab. Es ist zu beachten, dass die oben genannten Methoden bei der Beurteilung assoziativer Arrays anwendbar sind. Sie müssen jedoch bei der Verwendung der Funktion array_keys aufpassen. Wenn der Schlüsselname des Arrays eine Zahl ist, können bei der Verwendung der Funktion array_keys einige Probleme auftreten. Daher wird empfohlen, den zweiten Parameter bei Verwendung der Funktion array_keys auf true zu setzen, um die Reihenfolge der Schlüsselnamen unverändert zu lassen.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob zwei Array-Schlüssel in PHP gleich sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn