Em PHP, um array é uma estrutura de dados que pode armazenar múltiplos valores em uma única variável. Ele pode ser indexado numericamente ou associativamente.
Vamos ver sobre como adicionar elementos em uma matriz usando as funções array_unshift() e array_push().
- array_unshit() adiciona elementos ao início de um array
- array_push() adiciona elementos ao final de um array
array_unshift()
Use a função array_unshift() para inserir novos elementos no início de um array:
<?php
$nomes = [
'Maria',
'Paulo',
'Pedro',
'Joaozinho'];
array_unshift($nomes, 'Paola','Monica', 'Maiara');
foreach($nomes as $nome)
echo "<br>" . $nome;
?>
Resultado:
Paola
Monica
Maiara
Maria
Paulo
Pedro
Joaozinho
Array ( [0] => Paola [1] => Monica [2] => Maiara [3] => Maria [4] => Paulo [5] => Pedro [6] => Joaozinho )
Foram adicionados Paola, Monica e Maiara.
Veja que o índice muda. Antes Maria estava com o índice zero por ser a primeira da lista, mas agora Paola é quem está na posição zero. Monica e Maiara assumiram também as demais posições iniciais dos índices do array.
Anexando elementos ao início de um array associativo
Para anexar um elemento a um array associativo, usamos o operador +
<?php
$cores = [
'vermelhor' => '#ff000',
'verde' => '#00ff00',
'azul' => '#0000ff',
];
$cores = ['preto' => '#000000'] + $cores;
print_r($colores);
?>
array_push()
A função array_push() adiciona um ou mais elementos ao final de um array.
<?php
$nomes = [
'Maria',
'Paulo',
'Pedro',
'Joaozinho'];
array_push($nomes, 'Paola','Monica', 'Maiara');
foreach($nomes as $nome)
echo "<br>" . $nome;
echo "<br>";
print_r($nomes);
?>
Resultado:
Maria
Paulo
Pedro
Joaozinho
Paola
Monica
Maiara
Array ( [0] => Maria [1] => Paulo [2] => Pedro [3] => Joaozinho [4] => Paola [5] => Monica [6] => Maiara )
Aqui foram adicionados ao final do array:
- [4] => Paola
- [5] => Monica
- [6] => Maiara
Se for adicionar apenas um valor a um array, considere usar a instrução $array[] = $value, para evitar a sobrecarga de chamar a função array_push():
<?php
....
$array[] = $novo_valor;
?>
Inserindo um elemento ao final de um array associativo
Nesse caso, você não pode usar a função array_push(). Faça assim:
<?php
$funcoes = [
'admin' => 1,
'editor' => 2
];
$funcoes['aprovador'] = 3;
print_r($funcoes);
?>
Conclusão
A função array_unshift em PHP insere um ou mais elementos no início de um array, deslocando os outros elementos para posições superiores. A função array_push insere um ou mais elementos no final de um array.