4.3.9 Vergleich von Arrays

Arrays können miteinander verglichen werden, wobei es den Vergleich nur nach den Inhalten gibt, sowie den Vergleich danach, ob nicht nur der Inhalt, sondern auch der Typ und der Schlüssel gleich sind.

$one = [1, 2, 3];
$two = [1, 2, "3"];
$three = ["x" => 1, "y" => 2, "z" => 3];

if ($one == $two) {
    echo '1: $one & $two haben den gleichen Inhalt!';
}

if ($one === $two) {
    echo '2: $one & $two sind identisch!';
}

if ($one == $three) {
    echo '3: $one & $three haben den gleichen Inhalt!';
}

Ausgabe:
1: $one & $two haben den gleichen Inhalt!

Die zweite if-Bedingung (Zeile 9) wird nicht durchlaufen, da die Typen in den Elementen unterschiedlich sind. Die dritte if-Bedingung (Zeile 13) wird nicht durchlaufen, da es sich um verschiedene Arraytypen handelt.

Hinweis

Um herauszufinden, worin sich zwei Arrays unterscheiden bzw. welche Elemente in beiden Arrays vorkommen, gibt es die Funktionen array_intersect() und array_diff().

array_intersect() liefert ein Array zurück, das die Elemente beinhaltet, die in den geprüften Arrays vorhanden sind. array_diff() liefert ein Array zurück, das nur Elemente des ersten Arrays beinhaltet, welche nicht ebenfalls in einem anderen der geprüften Arrays vorkommt.