PHP 8.5.0 Beta 3 available for testing

array_any

(PHP 8 >= 8.4.0)

array_anyVerifica se pelo menos um elemento de um array satisfaz uma função de retorno

Descrição

array_any(array $array, callable $callback): bool

array_any() retorna true, se a função de retorno callback retornar true para qualquer elemento. Caso contrário retorna false.

Parâmetros

array
O array a ser pesquisado.
callback

A função de retorno a ser chamada para verificar cada elemento, que precisa ter a seguinte assinatura:

callback(mixed $value, mixed $key): bool
Se esta função retornar true, true é retornado por array_any() e a função de retorno não será chamada para os elementos restantes.

Valor Retornado

A função retorna true, se houver pelo menos um elemento para o qual callback retorna true. Caso contrário retorna false.

Exemplos

Exemplo #1 Exemplo de array_any()

<?php
$array
= [
'a' => 'cachorro',
'b' => 'gato',
'c' => 'vaca',
'd' => 'pato',
'e' => 'elefante',
'f' => 'ganso'
];

// Verifica se algum nome de animal tem mais de 5 letras.
var_dump(array_any($array, function (string $value) {
return
strlen($value) > 5;
}));

// Verifica se algum nome de animal tem menos de 3 letras.
var_dump(array_any($array, function (string $value) {
return
strlen($value) < 3;
}));

// Verifica se alguma chave do array não é uma string.
var_dump(array_any($array, function (string $value, $key) {
return !
is_string($key);
}));
?>

O exemplo acima produzirá:

bool(true)
bool(false)
bool(false)

Veja Também

  • array_all() - Verifica se todos os elementos de um array satisfazem uma função de retorno
  • array_filter() - Filtra elementos de um array utilizando uma função callback
  • array_find() - Retorna um primeiro elemento que satisfaz uma função de retorno
  • array_find_key() - Retorna a chave do primeiro elemento que satisfaz uma função de retorno
adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
0
miken32 at example dot com
11 hours ago
This can be a replacement for array_filter() where an existence check is the only purpose. But, unlike array_filter(), the callback always requires two arguments. There's no way to change this, so some a lot of old-fashioned string callables are no longer usable.

<?php
$arr
= [45, 'abc', 'def', 'ghi'];

if (
array_filter($arr, 'is_integer')) {
// works because of loose comparison: [45] == true
}

if (
array_any($arr, 'is_integer')) {
// PHP Warning: Uncaught ArgumentCountError: is_integer() expects exactly 1 argument, 2 given
}
?>
To Top