@Mchl już dał ci najbardziej zwięzłe i eleganckie rozwiązanie, ale poświęciłem kilka minut na stworzenie brzydkiego, jednoliniowego rozwiązania i opublikuję moje dziwaczne i hackowe rozwiązanie jako ciekawostkę lub przykład ostrzegawczy.
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
)
);
Aby uzyskać więcej informacji na temat zamknięcia PHP, należy skonsultować się z Anonymous functions w podręczniku PHP.
+1
Nice, bez odwoływania się do array_map. –
Tak, znacznie lepiej. – OverZealous