Map Filter Reduce PHP

Capa Curso PHP
Tempo de leitura: 3 minutos

Map Filter Reduce PHP: A programação funcional é um paradigma de programação que enfatiza o uso de funções como elementos de primeira classe. Em PHP, as funções map, filter e reduce são ferramentas poderosas para manipular arrays de forma declarativa e concisa, adotando princípios da programação funcional.

Neste artigo, vamos explorar como essas funções podem simplificar suas tarefas de programação, tornando seu código mais legível e eficiente.

Função map

A função map aplica uma função a cada elemento de um array e retorna um novo array com os resultados. É ideal para transformar todos os elementos de um array de acordo com uma determinada regra.

PHP

// Dobrando cada número em um array
$numeros = [1, 2, 3, 4, 5];
$dobros = array_map(function($numero) {
    return $numero * 2;
}, $numeros);
print_r($dobros); // Saída: Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )

Função filter

A função filter filtra os elementos de um array com base em uma condição. Retorna um novo array contendo apenas os elementos que satisfazem a condição.

PHP

// Filtrando números pares
$numeros = [1, 2, 3, 4, 5];
$pares = array_filter($numeros, function($numero) {
    return $numero % 2 === 0;
});
print_r($pares); // Saída: Array ( [1] => 2 [3] => 4 )

Função reduce

A função reduce reduz um array a um único valor, aplicando uma função acumulativa a cada elemento. É útil para realizar cálculos como somas, produtos, etc.

PHP

// Somando todos os números de um array
$numeros = [1, 2, 3, 4, 5];
$soma = array_reduce($numeros, function($acumulador, $numero) {
    return $acumulador + $numero;
});
echo $soma; // Saída: 15

Comparação entre as funções

FunçãoDescrição
mapAplica uma função a cada elemento e retorna um novo array.
filterFiltra elementos com base em uma condição e retorna um novo array.
reduceReduz um array a um único valor, aplicando uma função acumulativa.

Exemplos práticos

  • Aumentando o preço de produtos em 10%:

PHP

$produtos = [
    ['nome' => 'Camiseta', 'preco' => 20],
    ['nome' => 'Calça', 'preco' => 50],
];

$produtosComAumento = array_map(function($produto) {
    $produto['preco'] *= 1.1;
    return $produto;
}, $produtos);
  • Filtrando usuários maiores de 18 anos:

PHP

$usuarios = [
    ['nome' => 'João', 'idade' => 25],
    ['nome' => 'Maria', 'idade' => 17],
];

$adultos = array_filter($usuarios, function($usuario) {
    return $usuario['idade'] >= 18;
});
  • Calculando a média de notas:

PHP

$notas = [8, 7, 9, 10];
$media = array_reduce($notas, function($soma, $nota) {
    return $soma + $nota;
}, 0) / count($notas);

Conclusão

Map Filter Reduce PHP: As funções map, filter e reduce proporcionam uma forma elegante e concisa de manipular arrays em PHP. Ao adotar uma abordagem funcional, você pode escrever código mais limpo, legível e eficiente.

Toda jornada tem um início, e o início para se tornar um desenvolvedor back-end é dominar as seguintes tecnologias, que você encontra aqui mesmo:

SQL
SQL
Capa Curso PHP
PHP
Laravel
Laravel

E se você gosta do nosso conteúdo, não deixe de contribuir adquirindo os serviços e produtos dos nossos apoiadores e empresas que somos associados:

Hospedagem Hostinger
Ofertas Amazon
Amazon Prime

Author: Thiago Rossi