array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

array_diff_assoc Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung

Beschreibung

array_diff_assoc(array$array, array...$arrays): array

Vergleicht array mit arrays und gibt den Unterschied zurück. Im Gegensatz zu array_diff() werden die Schlüssel des Arrays ebenfalls beim Vergleich herangezogen.

Parameter-Liste

array

Das Array, das verglichen werden soll

arrays

Arrays zum Vergleichen

Rückgabewerte

Gibt ein Array zurück, das alle Werte aus array enthält, die in keinem der anderen Arrays vorhanden ist.

Changelog

VersionBeschreibung
8.0.0 Diese Funktion kann jetzt mit nur einem Parameter aufgerufen werden. Zuvor waren mindestens zwei Parameter erforderlich.

Beispiele

Beispiel #1 array_diff_assoc()-Beispiel

In diesem Beispiel ist das "a" => "gruen"-Paar in beiden Arrays enthalten und taucht daher nicht in der Ausgabe der Funktion auf. Andererseits ist das Paar 0 => "rot" in der Ausgabe, weil dem Wert "rot" im ersten Array automatisch der Schlüssel 0 zugewiesen wird, während ihm im zweiten Array 1 zugewiesen wird, weil der Schlüssel 0 bereits von gelb belegt ist.

<?php
$array1
= array("a" => "gruen", "b" => "braun", "c" => "blau", "rot");
$array2 = array("a" => "gruen", "gelb", "rot");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array ( [b] => braun [c] => blau [0] => rot )

Beispiel #2 array_diff_assoc()-Beispiel

Zwei Werte von Schlüssel => Wert-Paaren werden nur dann als gleich betrachtet, wenn (string) $elem1 === (string) $elem2 gilt. Anders ausgedrückt findet eine strikte Prüfung statt, in der die String-Repräsentationen gleich sein müssen.

<?php
$array1
= array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array ( [0] => 0 [1] => 1 )

Anmerkungen

Hinweis: Diese Funktion überprüft nur eine Dimension eines n-dimensionalen Arrays. Es ist möglich, tiefere Dimensionen zu überprüfen, indem zum Beispiel array_diff_assoc($array1[0], $array2[0]); verwendet wird.

Hinweis: Wenn ähnliche Arrays mit mehreren Schlüsseln verglichen werden, muss sichergestellt werden, dass die Argumente in der richtigen Reihenfolge übergeben werden. Das neue Array sollte das erste in der Liste sein.

Siehe auch

  • array_diff() - Ermittelt die Unterschiede zwischen Arrays
  • array_diff_uassoc() - Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Callback-Funktion vorgenommen wird
  • array_udiff_assoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht mittels einer Callbackfunktion
  • array_udiff_uassoc() - Ermittelt den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Indizes mittels einer Callbackfunktion
  • array_intersect() - Ermittelt die Schnittmenge von Arrays
  • array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung
To Top