Eu sei como inseri-lo até o fim:
$arr[] = $item;
Mas como inseri-lo no começo?
print_r($arr)
=>Array ( [0] => a, [1] => b, [-1] => c )
Eu sei como inseri-lo até o fim:
$arr[] = $item;
Mas como inseri-lo no começo?
print_r($arr)
=>Array ( [0] => a, [1] => b, [-1] => c )
Respostas:
Use array_unshift ($ array, $ item);
$arr = array('item2', 'item3', 'item4');
array_unshift($arr , 'item1');
print_r($arr);
Darei à você
Array
(
[0] => item1
[1] => item2
[2] => item3
[3] => item4
)
array_unshift
diz o seguinteAll numerical array keys will be modified to start counting from zero while literal keys won't be touched.
No caso de uma matriz associativa ou matriz numerada em que você não deseja alterar as chaves da matriz:
$firstItem = array('foo' => 'bar');
$arr = $firstItem + $arr;
array_merge
não funciona, pois sempre reindexa a matriz.
Usar função array_unshift
Inserir um item no início de uma matriz associativa com string / chave de índice personalizada
<?php
$array = ['keyOne'=>'valueOne', 'keyTwo'=>'valueTwo'];
$array = array_reverse($array);
$array['newKey'] = 'newValue';
$array = array_reverse($array);
RESULTADO
[
'newKey' => 'newValue',
'keyOne' => 'valueOne',
'keyTwo' => 'valueTwo'
]
Use array_unshift () para inserir o primeiro elemento em uma matriz.
O usuário array_shift () para remover o primeiro elemento de uma matriz.
Ou você pode usar uma matriz temporária e excluir a real se quiser alterá-la durante o ciclo:
$array = array(0 => 'a', 1 => 'b', 2 => 'c');
$temp_array = $array[1];
unset($array[1]);
array_unshift($array , $temp_array);
a saída será:
array(0 => 'b', 1 => 'a', 2 => 'c')
e quando estiver fazendo isso enquanto estiver em ciclo, limpe $temp_array
após anexar o item à matriz.
$arr=array("a"=>"one", "b"=>"two");
$arr=array("c"=>"three", "d"=>"four").$arr;
print_r($arr);
-------------------
output:
----------------
Array
(
[c]=["three"]
[d]=["four"]
[a]=["two"]
[b]=["one"]
)
$arr[-1] = $item;
Encontrado aqui: stackoverflow.com/a/15252657/669677