Funções para manipulação de arrays - Parte 1 - PHP

Primeiro artigo da série de funções para manipulação de arrays com PHP. Nesse artigo demonstrarei as seguintes funções:

  • array_slice
  • array_splice
  • array_push
  • array_pop
  • array_unshift
  • array_shift
  • array_walk
  • array_map

array_slice

Retorna um pedaço do array, especificando de onde deve começar até o final. Essa função pode receber quatro parâmetros: Array: o array, offset: de onde começara a "cortagem", length: A quantidade até onde será "cortado", preserve_keys: se será preservado as keys númericas originais, caso contrário as keys serão zeradas e reorganizadas, o valor padrão é false.


$array = array("a", "b", "c", "d", "e");

print_r(array_slice($array, 2)); // "c", "d", e "e"
print_r(array_slice($array, 2, -1)); // "c", "d"
print_r(array_slice($array, -2, 1)); // "d"
print_r(array_slice($array, 0, 3));  // "a", "b", e "c"
print_r(array_slice($array, 2, -1)); // [0] => c [1] => d 
print_r(array_slice($array, 2, -1, true)); // [2] => c [3] => d 

array_splice

Semelhante ao array_slice, assim como a função array_slice a função array_splice também recebe os parâmetros offset e length, porém o último parâmetro é o valor que será substituído pelos elementos que foram removidos, esse valor pode ser um array ou não.


$array = array("vermelho", "verde", "azul", "amarelo");
array_splice($array, -1, 1, array("preto", "marrom"));
print_r($array); // "vermelho", "verde", "azul", "preto", "marrom"

$array = array("vermelho", "verde", "azul", "amarelo");
array_splice($array, 3, 0, "roxo");
print_r($array); // "vermelho", "verde", "azul", "roxo", "amarelo"

array_push

Adiciona um ou mais elementos no final do array. O primeiro parâmetro é o array, e o restante será os elementos que serão adicionados a esse array. Essa função retorna o novo números de elementos do array.


$array = array("laranja", "morango");
array_push($array, "melancia", "batata");

print_r($array); // laranja", "morango", "melancia", "batata"

array_pop

Retira o último elemento de um array. Essa função irá retornar o elemento retirado.


$array = array("laranja", "banana", "melancia", "morango");
$fruta = array_pop($array);

print_r($fruta); // laranja", "banana", "melancia"

array_unshift

Adiciona um ou mais elementos no início do array. O primeiro parâmetro é o array, e o restante será os elementos que serão adicionados a esse array. Essa função retorna o novo números de elementos do array.


$array = array("laranja", "morango");
array_unshift($array, "melancia", "batata");

print_r($array); // "melancia", "batata", laranja", "morango"

array_shift

Retira o primeiro elemento de um array. Essa função irá retornar o elemento retirado.


$array = array("laranja", "banana", "melancia", "morango");
$fruta = array_shift($array);

print_r($fruta); // "banana", "melancia", "morango"

array_walk

Aplica uma função em cada elemento do array. Essa função recebe o array como parâmetro e uma função que irá ser executada a cada elemento do array. Retorna um booleano caso o resultado seja verdadeiro ou falso.


$array = array("a" => "red", "b" => "green", "c" => "blue");

array_walk($array, function($value, $key){
    echo 'O índice ' . $key . ' pussui o valor ' . $value . '<br />';
});
// O índice a pussui o valor red
// O índice b pussui o valor green
// O índice c pussui o valor blue

array_map

Aplica uma função em cada elemento do array. Essa função é semelhante a array_walk, porém ela retorna um novo array contendo os valores aplicados após a execução da função dada a cada elemento.


function cubo($n){
    return $n * $n * $n;
}

$a = array(1, 2, 3, 4, 5);
$b = array_map("cubo", $a);

print_r($b); // [0] => 1, [1] => 8, [2] => 27, [3] => 64, [4] => 125

Referência: php.net/manual/pt_BR/ref.array.php

Voltar para o topo