You are currently viewing 6 funções de array no PHP
funcoes de array

6 funções de array no PHP

  • Post author:
  • Post category:PHP

Introdução

As funções de array são úteis em todas as linguagens, e não seria diferente no PHP.

Essas funções de array ajudam demais no dia a dia do desenvolvimento, trazem muita produtividade e auxiliam bastante no desenvolvimento lógico de uma aplicação.

Por isso é importante conhecer as funções de array, para que você tenha mais ferramentas no seu desenvolvimento.

Podendo assim evitar grandes códigos e gambiarras.

Sem mais enrolação, vamos direto as funções de array.

Array push

Essa função é utilizada para adicionar um ou mais itens no final de um array.

A sintaxe da função é array_push($dados, 'valor1', 'valor2');

Imagine que você tem um array de nomes:

<?php
$nomes = ['João', 'Maria', 'Pedro'];

Você pode adicionar um nome:

<?php
array_push($nomes, 'Paulo');
var_dump($nomes);
Array
(
    [0] => João
    [1] => Maria
    [2] => Pedro
    [3] => Paulo
)

Ou então vários de uma vez:

<?php
array_push($nomes, 'Ricardo', 'Ana');
var_dump($nomes);
Array
(
    [0] => João
    [1] => Maria
    [2] => Pedro
    [3] => Paulo
    [4] => Ricardo
    [5] => Ana
)

Array map

Esse método aplica uma função para cada elemento de um array.

A sintaxe é array_map(funcao, array);

Essa função pode manipular o dado da maneira que você preferir, e no fim será retornado um array contendo os resultados dessa função.

Para o exemplo, pense numa situação onde é preciso calcular o dobro de cada número dentro de um array:

<?php
$numeros = [2, 4, 6];

Com o array_map é possível fazer assim:

<?php
function dobro($n)
{
    return ($n * 2);
}

$numeros = [2, 4, 6];
$dobros = array_map('dobro', $numeros);
print_r($dobros);
Array ( 
    [0] => 4 
    [1] => 8 
    [2] => 12 
)

Repare que a função pode ser declarada separadamente, e ser somente chamada dentro do array_map no primeiro parâmetro.

E no segundo parâmetro é passado o array de dados a ser percorrido.

Array merge

O array merge é utilizado para juntar um ou mais arrays.

Essa função eu utilizo bastante no dia a dia, é comum aparecer situações onde preciso juntar arrays.

A sintaxe dela é array_merge($array1, $array2);

Os dados do segundo array serão colocados ao final do primeiro array, por exemplo:

<?php

$frutas1 = ['Pera', 'Maca'];
$frutas2 = ['Banana', 'Laranja'];
$frutas = array_merge($frutas1, $frutas2);
print_r($frutas);
Array ( 
    [0] => Pera 
    [1] => Maca 
    [2] => Banana 
    [3] => Laranja 
)

Repare que o valor de array_merge é retornado e pode ser armazenado em outra variável.

Uma forma que utilizo bastante, é passar os dados do segundo array diretamente, sem estar em uma variável, dessa forma:

<?php

$frutas1 = ['Pera', 'Maca'];
$frutas = array_merge($frutas1, ['Banana', 'Laranja']);
print_r($frutas);
Array ( 
    [0] => Pera 
    [1] => Maca 
    [2] => Banana 
    [3] => Laranja 
)

Array search

Essa função é utilizada para procurar um valor dentro de um array.

Caso esse valor seja encontrado, será retornado sua posição no array, caso contrário a função retorna false.

Dessa forma é possível retornar o valor para utilizar em variável, ou então colocar em uma estrutura condicional.

A sintaxe é array_search('valor', $array).

No caso do array das frutas, podemos tentar localizar a fruta banana, o array_search irá retornar 2:

<?php

$frutas = ['Pera', 'Maca', 'Banana', 'Laranja'];
$index = array_search('Banana', $frutas);
var_dump($index);
// int(2)

Caso seja procurado um valor não existente:

<?php

$frutas = ['Pera', 'Maca', 'Banana', 'Laranja'];
$index = array_search('Caju', $frutas);
var_dump($index);
// bool(false)

Colocando em um condicional diretamente:

<?php

$frutas = ['Pera', 'Maca', 'Banana', 'Laranja'];
if (array_search('Banana', $frutas)) {
    echo 'Fruta encontrada';
}

Array filter

Essa função como o próprio nome diz, serve para filtrar dados de um array.

Sua sintaxe é array_filter($array, function, mode);

A função retorna o array com os dados filtrados.

Vamos filtrar um array de números, e tirar os números acima de 10:

$numeros = [4, 8, 12, 5, 18];
function filtrarMenorQue10($numero)
{
    return $numero < 10;
}
$numerosMenoresQue10 = array_filter($numeros, "filtrarMenorQue10");
print_r($numerosMenoresQue10);
Array ( 
    [0] => 4 
    [1] => 8 
    [3] => 5 
)

O parâmetro mode é opcional, e ele é utilizado para indicar se quer fazer o filtro pelos índices do array ou pelos valores.

Veja um exemplo da própria documentação do PHP:

<?php

$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];

var_dump(array_filter($arr, function($k) {
    return $k == 'b';
}, ARRAY_FILTER_USE_KEY));

var_dump(array_filter($arr, function($v, $k) {
    return $k == 'b' || $v == 4;
}, ARRAY_FILTER_USE_BOTH));

Contar quantidade de itens de um array

Para saber a quantidade de itens em um array php, é possível utilizar a função count().

Essa função retorna diretamente a quantidade, ai é possível colocar diretamente em uma condicional, ou em uma variável:

<?php

$numeros = [4, 8, 12, 5];
echo count($numeros); //4

//ou então

if (count(numeros) > 3) {
    ... faz alguma coisa
}

Conclusão

As funções de array são amplamente utilizadas, pois elas facilitam demais no desenvolvimento.

E quanto mais funções de array souber é melhor, pois te da mais ferramentas para atuar no dia a dia.

Claro que o PHP tem muito mais funções de array para estudar, e você consegue buscar todas diretamente na documentação, que é muito boa e muito extensa.

Para ver outros canais onde o posto conteúdo veja os Links do Programando Soluções.

Referências

https://www.php.net/docs.php

Funções de array: https://www.php.net/manual/pt_BR/ref.array.php

Este conteúdo te ajudou de alguma forma?