Array mit Array durchsuchen

loddarmattheus

Erfahrenes Mitglied
Hallo, angenommen ich habe Werte in einem Array A. Im Array B soll verglichen werden, ob einer der Werte bereits im Array A vorhanden ist.
Ein Beispiel:
PHP:
$arrayA = array("Ba2","Ba4","Ba6","Ba8","Bb1","Bb3","Bb5","Bb7","Bc2","Bc4","Bc6","Bc8","Bd1","Bd3","Bd5","Bd7","Be2","Be4","Be6","Be8","Bf1","Bf3","Bf5","Bf7","Bg2","Bg4","Bg6","Bg8","Bh1","Bh3","Bh5","Bh7");

$arrayB = array("d4","Ba4","c3","Qa8")

Da der Wert Ba4 im Array A auch vorkommt, sollte es true liefern. Kann mir jemand einen Ansatz liefern, weil ich mit array_search oder in_array nich t weiterkomme.

Loddar
 
PHP:
//$array2 Elemente werden in $array1 gesucht.
function array_compare($array1, $array2){
      foreach($array2 as $value){
           if(in_array($value, $array1)){
                return true;
           }
      }
      return false;
}
hab jetzt nicht auf Performance geachtet, was man bei größeren Array dann tun sollte, aber die funktion liefert sicher richtige Ergebnisse (wenn ich mich jetzt nicht vertippt habe..)
 
Moin Loddar,

alternativ zu hubbls Lösung kannst du das auch mit [phpf]array_intersect[/phpf] prüfen...der Ergebnisarray hätte dann eine Länge >0 .
 
@ hubbl - danke erstmal...
nur wenn ich es so mache
PHP:
				function array_compare($arrayA,$arrayB)
					{
      				foreach($arrayB as $value)
						{
           				if(in_array($value, $arrayA))
							{
               				 return true;
           					}
      					}
      				return false;
					}

kommt bei mir immer eine Fehlermeldung: Notice: Undefined variable: arrayB in D:\xampplite\htdocs

P.S. Bin ein ziemlicher PHP-
 
Zurück