<?php
function any(array $array, callable $predicate) {
return ((bool) count($array)) && array_reduce($array, function ($bool, $item) use ($predicate) {
return $bool || (bool) $predicate($item);
}, false);
}
function all(array $array, callable $predicate) {
return ((bool) count($array)) && array_reduce($array, function ($bool, $item) use ($predicate) {
return $bool && (bool) $predicate($item);
}, true);
}
$valuesArray = [
[ false, false, true ],
[ false, true, false ],
[ false, true, true ],
[ true, false, false ],
[ true, false, true ],
[ true, true, false ],
[ true, true, true ],
];
foreach ($valuesArray as $values) {
var_dump(['any' => any($values, function ($value) {
return $value;
})]);
var_dump(['all' => all($values, function ($value) {
return $value;
})]);
}
preferences:
37.97 ms | 402 KiB | 5 Q