in_array вернет true, если и только если в массиве присутствует все значение иглы.Если ваши значения не могут содержать запятую, вы можете использовать
$a = array("nl", "net", "com");
$q = $_GET["q"];
$imploded = implode(",", $a);
$domain = explode(".", $q);
if (strpos($imploded, $a) !== false) {
echo $q;
} else {
echo $imploded;
}
В противном случае, если мы не можем предположить такую вещь, вы можете сделать что-то вроде этого:
$a = array("nl", "net", "com");
$q = $_GET["q"];
$domain = explode(".", $q);
$found = false;
for ($index = 0; $index < count($a), $index++) {
if (strpos($a[$index], $domain[1]) !== false) {
$found = true;
}
}
if ($found) {
echo $q;
} else {
echo implode(',',$a);
}