Com a função array_filter podemos filtrar elementos de um array baseado em
uma função customizada que é passsada como argumento.
Sintaxe
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
Onde
$array: array para filtrar
$callback: Função do usuário para filtro
$mode: Modo de filtro:
ARRAY_FILTER_USE_KEY - Passar como argumento apenas chave para $callback. Padrão
ARRAY_FILTER_USE_BOTH - Passar como argumento chave e valor para $callback
Retorno
Um novo array contendo a elementos filtrados por $callback
Exemplo
<?php
$array1 = array(0,1,2,3,4,5,6,7,8,9,10);
function funcao($valor){
if ($valor %2 == 0)
return $valor;
}
$array_ret = array_filter($array1,"funcao");
print_r($array_ret);
?>
Saída
Array
(
[2] => 2
[4] => 4
[6] => 6
[8] => 8
[10] => 10
)