PHP: проверьте, все ли значения в массиве меньше x

Есть ли функция для этого?

Например, если у меня есть массив, такой как 1,1,3,2,1,2,3,2,2,3,3,2,5,1 Функция должна возвращать true тогда и только тогда, когда все числа в массиве менее 5

if(max($yourArray) < 5) { //all values in array are less than 5 } 

Вы можете использовать array_filter для запуска команды над каждым аргументом и убедиться, что список пуст, например:

 function greater_than_four($num) { return (int)$num > 4; } if( array_filter($list, "greater_than_four") ) { // INVALID } else { // VALID } 

array_map о котором все array_map , здесь не так много. array_reduce будет:

 array_reduce($array, function ($v, $a) { return $v && $a < 5; }, true) 

Но использование Mxl max безусловно, лучше всего.

Почему вы не создаете свою собственную функцию?

 function allunder5(yourarray) { foreach $yourarray as $yournumber { if ($yournumber > 5) { return false } } return true } 
 function checkArray(&$arr, $max){ foreach($arr as $e){ if($e>$max){ return false; } } return true; } 

@Mchl уже дал вам самое сжатое и элегантное решение, но я потратил несколько минут, чтобы создать уродливое решение с одним слоем, и опубликую свое причудливое и хакерское решение как любопытство или пример предупреждения.

 function arrayContainsValueOverLimit($arr, $limit) { return ! array_reduce( array_map( // Closure used with array_map function ($val) use (&$limit) { return $val <= $limit; }, // Values passed into array_map $arr ), // Closure used with array_reduce function ($r, $v) { return $r && $v; }, // Starting value for array_reduce true ); } var_dump( arrayContainsValueOverLimit( array(1,1,3,2,1,2,3,2,2,3,3,2,5,1), 3 ) ); 

Для получения дополнительной информации о закрытии PHP обратитесь к анонимным функциям в руководстве по PHP.