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)