PHP verschiedene Arrays vergleichen?

4 Antworten

Mir fallen verschiedene Möglichkeiten ein.

a) Verwende array_intersect und prüfe, ob die erwartete Anzahl an Elementen vorhanden ist.

b) Verwende array_merge und prüfe, ob die erwartete Anzahl an Elementen vorhanden ist.

c) Fasse beide Arrays zu einem Array zusammen, merke dir die Anzahl derer Elemente, wirf Duplikate heraus und schau dann, ob die Länge noch gleich des gemerkten Wertes ist. PHP bietet für einige Teilschritte bereits eigene Funktionen an.

d) Iteriere über eines der Arrays und prüfe innerhalb jeder Iteration, ob das aktuelle Element im zweiten Array vorhanden ist. So hast du zwei ineinander verschachtelte Schleifen.

<?php
$zaehler = 0;
# Array 1 nach Werten von Array 2 durchsuchen
foreach($array1 as $value) {
    if(array_search($value, $array2) != FALSE) {
      $zaehler++;
   }
}

# Array 2 nach Werten von Array 2 durchsuchen
foreach($array2 as $value) {
    if(array_search($value, $array1) != FALSE) {
       $zaehler++;
   }
}
echo "$zaehler gleiche Werte gefunden";
?>

Alex

Nutze dafür die Funktion array_intersect(). Die bildet die Schnittmenge beider Arrays.