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_unshiftdit 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_arrayaprè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