Veja nesse artigo
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
Funções de array: https://www.php.net/manual/pt_BR/ref.array.php