Will man überprüfen ob ein Wert/String in einem Array vorhanden ist, ist die einfachste Methode in_array. z.B.:
$needle = 1; $haystack = array(1, 2, 3); if (in_array($needle, $haystack)) { echo 'ok'; } // Ausgabe: ok
Obwohl in_array auch mit Arrays als needle funktioniert, liefert dieses Beispiel keine Ausgabe:
$needle = array(1,2); $haystack = array(1, 2, 3); if (in_array($needle, $haystack)) { echo 'ok'; }
Denn es wird in dem haystack-Array nach einem Array mit den gleichen Inhalten und nicht nach den einzelnen Werten des needle-Arrays gescucht.
Will man das überprüfen funktioniert das mit array_intersect so:
$needle = array(1,2); $haystack = array(1, 2, 3); if (array_intersect($needle, $haystack)) { echo 'ok'; } // Ausgabe: ok