Je sais comment l'insérer jusqu'au bout en:
$arr[] = $item;
Mais comment l'insérer au début?
print_r($arr)
=>Array ( [0] => a, [1] => b, [-1] => c )
Je sais comment l'insérer jusqu'au bout en:
$arr[] = $item;
Mais comment l'insérer au début?
print_r($arr)
=>Array ( [0] => a, [1] => b, [-1] => c )
Réponses:
Utilisez array_unshift ($ array, $ item);
$arr = array('item2', 'item3', 'item4');
array_unshift($arr , 'item1');
print_r($arr);
te donnera
Array
(
[0] => item1
[1] => item2
[2] => item3
[3] => item4
)
array_unshift
dit ce qui suitAll numerical array keys will be modified to start counting from zero while literal keys won't be touched.
Dans le cas d'un tableau associatif ou d'un tableau numéroté où vous ne souhaitez pas modifier les clés du tableau:
$firstItem = array('foo' => 'bar');
$arr = $firstItem + $arr;
array_merge
ne fonctionne pas car il réindexe toujours le tableau.
Utiliser la fonction array_unshift
Insérer un élément au début d'un tableau associatif avec une chaîne / clé d'index personnalisée
<?php
$array = ['keyOne'=>'valueOne', 'keyTwo'=>'valueTwo'];
$array = array_reverse($array);
$array['newKey'] = 'newValue';
$array = array_reverse($array);
RÉSULTAT
[
'newKey' => 'newValue',
'keyOne' => 'valueOne',
'keyTwo' => 'valueTwo'
]
Utilisez array_unshift () pour insérer le premier élément dans un tableau.
L'utilisateur array_shift () supprime le premier élément d'un tableau.
Ou vous pouvez utiliser un tableau temporaire puis supprimer le vrai si vous voulez le changer pendant le cycle:
$array = array(0 => 'a', 1 => 'b', 2 => 'c');
$temp_array = $array[1];
unset($array[1]);
array_unshift($array , $temp_array);
la sortie sera:
array(0 => 'b', 1 => 'a', 2 => 'c')
et lorsque vous le faites pendant le cycle, vous devez nettoyer $temp_array
après avoir ajouté l'élément au tableau.
$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;
Trouvé ici: stackoverflow.com/a/15252657/669677