Novas funções para arrays no PHP 8.4 -> array_find, array_find_key, array_any e array_all
Marcos Marcolin • September 16, 2024
php php84A nova versão do PHP, 8.4, trará um novo conjunto de funções para manipulação de arrays: array_find, array_find_key, array_any e array_all.
Essas funções oferecem uma maneira mais direta e eficiente de trabalhar com arrays, simplificando operações comuns.
Quer você goste ou não, o array é uma das estruturas de dados mais versáteis do PHP, sendo prática e objetiva – características que refletem a essência da linguagem.
Pessoalmente, eu prefiro escrever código simples e limpo. Por isso, considero essas novas funções uma adição muito bem-vinda. Elas nos ajudam a evitar loops desnecessários e tornam o código mais legível, mantendo a elegância da linguagem.
array_find
O nome já diz tudo: array_find pesquisa um elemento em um array e retorna o primeiro elemento que satisfaz o critério definido pelo callback.
Assinatura da função:
function array_find(array $array, callable $callback): mixed {}
Exemplo de uso:
// Verifica se o valor é > 10
function is_greater_than_ten(int $value): bool {
return $value > 10;
}
$array = [5, 8, 12, 3, 15];
array_find($array, 'is_greater_than_ten'); // 12
// Com Arrow Functions
array_find($array, fn($value) => $value > 10); // 12
array_find_key
Semelhante à array_find, a função array_find_key retorna a chave do primeiro elemento que satisfaz o critério do callback.
Se nenhum elemento for encontrado, retorna null.
Assinatura da função:
function array_find_key(array $array, callable $callback): mixed {}
Exemplo de uso:
function is_greater_than_ten(int $value): bool {
return $value > 10;
}
$array = [5, 8, 12, 3, 15];
array_find_key($array, 'is_greater_than_ten'); // 2
// Com Arrow Functions
array_find_key($array, fn($value) => $value > 10); // 2
array_all
A função array_all verifica se todos os elementos do array atendem ao critério definido pelo callback.
Se todos os elementos retornarem true para o callback, a função retorna true, caso contrário, false.
Assinatura da função:
function array_all(array $array, callable $callback): bool {}
Exemplo de uso:
$array = [5, 8, 12, 3, 15];
array_all($array, fn($value) => $value > 10); // false
array_all($array, fn($value) => is_numeric($value)); // true
array_any
A função array_any verifica se pelo menos um dos elementos do array atende ao critério do callback.
Se ao menos um elemento retornar true para o callback, a função retorna true.
Assinatura da função:
function array_any(array $array, callable $callback): bool {}
Exemplo de uso:
$array = [5, 8, 12, 3, 15];
array_any($array, fn($value) => $value > 10); // true
array_any($array, fn($value) => $value > 20); // false
array_any($array, fn($value) => is_numeric($value)); // true
Conclusão
As novas funções introduzidas no PHP 8.4 reforçam o compromisso da linguagem em fornecer ferramentas que tornam o código mais simples e legível.
Se você, como eu, valoriza um código mais direto e fácil de manter, essas novas adições são uma excelente oportunidade para aprimorar sua forma de trabalhar com arrays no PHP.
Fique atento à evolução da linguagem e aproveite essas funcionalidades para escrever código ainda mais eficiente.
Você pode conferir a RFC clicando aqui.
Até a próxima!