Nesse tópico, iremos abordar algumas funções importantes para manipulação de arrays e deixar links úteis para você pesquisar mais sobre caso queira.
A função implode()
retorna uma string à partir de uma array, juntando todos os vetores em ordem crescente com um delimitador selecionado.
Exemplo #1 RandomExample
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(',', $array);
echo $comma_separated; // lastname,email,phone
A função array_push()
insere um novo elemento no final de um array.
Argumentos/Parâmetros:
- Array no qual você quer inserir um novo elemento;
- Novo elemento.
Exemplo #1 Melhores Comunidades
$communities = []; // []
array_push($communities, 'He4rtDevs');
print_r($communities); // ['He4rtDevs']
array_push($communities, 'CodigoFalado');
print_r($communities); // ['He4rtDevs', 'CodigoFalado']
Exemplo #2 Array de Arrays
$communities = [
'communities' => [
'He4rtDevs',
'CodigoFalado',
'php.net',
'TwitchTV'
]
];
array_push($communities, ['Links' => ['https://heartdevs.com'] ]);
// Resultado
// $communities = [
// 'communities' => [
// 'He4rtDevs',
// 'CodigoFalado',
// 'php.net',
// 'TwitchTV'
// ],
// 'links' => [
// 'https://heartdevs.com'
// ]
// ];
array_push($communities['links'], 'https://codigofalado.com.br');
// Resultado
// $communities = [
// 'communities' => [
// 'He4rtDevs',
// 'CodigoFalado',
// 'php.net',
// 'TwitchTV'
// ],
// 'links' => [
// 'https://heartdevs.com',
// 'https://codigofalado.com.br',
// ]
// ];
A função array_search()
procura um elemento dentro do valor e retorna sua chave caso encontrado.
Argumentos/Parâmetros:
- Elemento que você deseja buscar no array;
- Array a ser pesquisado.
Exemplo #1 Melhores Comunidades
$communities = ['php.net','CodigoFalado','TwitchTV','He4rtDevs']; // []
$result = array_search('CodigoFalado', $communities); // Return 1
$result = array_search('He4rtDevs', $communities); // Return 3
$result = array_search('foguete roxo', $communities); // Return false
A função array_diff()
compara um ou mais arrays e retorna os elementos que divergem tendo o primeiro array como referência.
Argumentos/Parâmetros:
- Primeiro array a ser comparado;
- Segundo array a ser comparado;
- N arrays a serem comparados.
Exemplo #1 Cores maneiras
$colorPallete1 = ['yellow', 'pink', 'purple', 'red'];
$colorPallete2 = ['yellow', 'pink', 'brown', 'blue'];
$result = array_diff($colorPallete1, $colorPallete2);
// Result
// [
// 'purple',
// 'red'
// ]
Exemplo #2 Cores maneiras 2.0
$colorPallete1 = ['black', 'pink', 'purple', 'red'];
$colorPallete2 = ['yellow', 'pink', 'brown', 'blue'];
$colorPallete3 = ['yellow', 'white', 'brown', 'blue'];
$result = array_diff($colorPallete1, $colorPallete2, $colorPallete3);
// Result
// [
// 'black',
// 'purple',
// 'red'
// ]
A função array_sum()
soma todos os valores dentro de um array.
Argumentos/Parâmetros:
- Primeiro array a ser comparado.
Exemplo #1 Numeros inteiros
$numbers = [1, 5, 3, 4, 7, 1];
$result = array_sum($numbers); // Result 21
Exemplo #2 Números flutuantes
$numbers = [1.5, 6, 2, 8.3, 0.3];
$result = array_sum($numbers); // Result 18.1
A função array_replace()
substitui valores do primeiro array passado usando os próximos como critério de comparação.
Os arrays que irão ser passados deverão conter a chave de qual elemento será substituído seguido do seu valor. Os parâmetros após o primeiro são infinitos.
Argumentos/Parâmetros:
- Primeiro array a ser comparado;
- 1o Array com mudanças a serem feitas;
- 2o Array com mudanças a serem feitas.
- ...
Exemplo #1 Números inteiros
$names = ['danielhe4rt', 'geekcom','Loooooogan_','MaeHe4rt'];
$nick1 = [2 => 'Loogan_'];
$nick2 = [2 => 'kjkGustavo', 3 => 'JuhBotelho'];
$result = array_replace($names, $nick1, $nick2);
// Result
// [
// 'danielhe4rt',
// 'geekcom',
// 'kjkGustavo',
// 'JuhBotelho',
// ]
A função array_map
compõe o grupo das excelentes funções de transformação no PHP. Espera 1 callback e 1 ou N arrays como argumento. Pode ser utilizado no lugar de um foreach por exemplo e deixa explicito que um novo array será gerado.
Argumentos/Parâmetros:
- Função que será executada para cada elemento do array (Recebe como parâmetro o elemento que está sendo iterado)
- Array a ser iterado
- ...
Exemplo #1 Função nativa
$languages = array_map('strtoupper', ['php', 'elixir', 'clojure']);
// Result
//
// [
// "PHP",
// "ELIXIR",
// "CLOJURE"
// ]
Exemplo #2 Função personalizada
$languages = array_map(function($language) {
return md5(ucfirst($language));
}, ['php', 'elixir', 'clojure']);
// Result
//
// [
// "2ec543bde83a1a3ed7eb0676e664a8bc",
// "a12eb062eca9d1e6c69fcf8b603787c3",
// "3ce4a9c4043142965234ee0c40cef1d0"
// ]
Exemplo #3 Combinação de arrays
$languages = array_map(function($language1, $language2) {
return sprintf('%s - %s', ucfirst($language1), ucfirst($language2));
}, ['php', 'elixir', 'clojure'], ['haskell', 'c#', 'java']);
// Result
//
// [
// "Php - Haskell",
// "Elixir - C#",
// "Clojure - Java"
// ]
Similar à função anterior o array_filter
cria um novo array mas dessa vez esperando uma condição. É de fato um filtro.
Argumentos/Parâmetros:
- Array a ser iterado
- Função que será executada para cada elemento do array (Recebe como parâmetro o elemento que está sendo iterado)
- ...
Exemplo #1 Retornar somente valores que forem diferente de dada condição
$drinks = array_filter(['tequila', 'vodka', 'whisky'], function($drink){
return $drink != 'tequila';
});
// Result
//
// [
// 'vodka',
// 'whisky'
// ]
Exemplo #2 Retornar somente números (utilizando função nativa como callback)
$numbers = array_filter(['teste', 123456, '123', 0, 'lisp'], 'is_numeric');
// Result
// [
// 123456,
// 123,
// 0
// ]
A função array_reduce
reduz um array de N elementos para 1 único elemento. Muito útil para cálculos ou operações que resultam em um único valor
Argumentos/Parâmetros:
- Array a ser iterado
- Função que será executada para cada elemento do array (Recebe uma variável acumuladora e o elemento que está sendo iterado)
Exemplo #1 Soma de todos os itens de um array
$total = array_reduce([10, 20, 10], function($somatoria, $valor){
$somatoria += $valor;
return $somatoria;
});
// Result
//
// 40
A função explode()
retorna um array de strings à partir de uma string, separando essa string a partir de uma condição
Exemplo #1 RandomExample
$string = "Eu gostaria de separar essa string em espaços";
$arraySeparado = explode(' ', $string);
print_r($arraySeparado); // Array ( [0] => Eu [1] => gostaria [2] => de [3] => separar [4] => essa [5] => string [6] => em [7] => espaços )