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