Поскольку PHP 5.6 , существует лучшее и более чистое решение для первоначального ответа:
С многомерным массивом, подобным этому:
$a = array(array("Mac", "NT"), array("Irix", "Linux"))
Мы можем использовать оператор сплата :
return in_array("Irix", array_merge(...$a), true)
Если у вас есть такие строковые ключи:
$a = array("a" => array("Mac", "NT"), "b" => array("Irix", "Linux"))
Вам нужно будет использовать array_values
, чтобы избежать ошибки Cannot unpack array with string keys
:
return in_array("Irix", array_merge(...array_values($a)), true)