if (! function_exists('array_all')) { function array_all(array $array, callable $callable) { foreach ($array as $key => $value) { if (! $callable($value, $key)) return false; } return true; }}(PHP 8 >= 8.4.0)
array_all — Verifica si todos los elementos del array validan la función de retrollamada
array_all() devuelve true, si la función de retrollamada
callback devuelve true para todos los elementos.
De lo contrario, la función devuelve false.
La función devuelve true, si callback devuelve
true para cada elemento. De lo contrario, la función devuelve false.
Ejemplo #1 Ejemplo con array_all()
<?php
$array = [
'a' => 'perro',
'b' => 'gato',
'c' => 'vaca',
'd' => 'pato',
'e' => 'ganso',
'f' => 'elefante'
];
// Verificar si todos los nombres de animales tienen menos de 12 letras.
var_dump(array_all($array, function (string $value) {
return strlen($value) < 12;
}));
// Verificar si todos los nombres de animales tienen más de 5 letras.
var_dump(array_all($array, function (string $value) {
return strlen($value) > 5;
}));
// Verificar si todas las claves del array son strings.
var_dump(array_all($array, function (string $value, $key) {
return is_string($key);
}));
?>El ejemplo anterior mostrará:
bool(true) bool(false) bool(true)
if (! function_exists('array_all')) { function array_all(array $array, callable $callable) { foreach ($array as $key => $value) { if (! $callable($value, $key)) return false; } return true; }}<?phpfunction array_all(array $array, callable $callback): bool{ return array_reduce($array, fn($r, $e) => $r && $callback($e), true);}?>The function will always return true for empty array.php > var_dump(array_all([], fn()=> true));bool(true)php > var_dump(array_all([], fn()=> false));bool(true)