2010-01-27 6 views
21

Disons que je ce tableau:Comment ajouter une valeur de tableau au milieu d'un tableau?

$array = array(1,2,'b','c',5,6,7,8,9.10); 

Plus tard dans le script, je veux ajouter la valeur « d » avant « c ». Comment puis-je faire ceci?

+0

duplication possible de [Insérer un nouvel élément dans le tableau sur n'importe quelle position en PHP] (http://stackoverflow.com/questions/3797239/insert-new-item-in-array-on-any-position-in-php –

+1

@MichelAyres La question que vous avez lue a été affichée après celle-ci. Je pense que cela fait une copie de la mienne, pas l'inverse: P – Citizen

+2

La question liée a une meilleure réponse que ce @Citizen –

Répondre

30

Utilisez array_splice comme suit:

array_splice($array, 3, 0, array('d')); 
0

ou une approche plus self-made: array boucle jusqu'à ce que vous voir 'd' insérer 'c' puis 'd' dans le prochain . Maj toutes les autres entrées d'un droit

0

La réponse complexe sur la question du citoyen est:

$array = array('Hello', 'world!', 'How', 'are', 'You', 'Buddy?'); 
$element = '-- inserted --'; 
if (count($array) == 1) 
{ 
    return $string; 
} 
$middle = ceil(count($array)/2); 
array_splice($array, $middle, 0, $element); 

Affichera:

Array 
(
    [0] => Hello 
    [1] => world! 
    [2] => How 
    [3] => -- inserted -- 
    [4] => are 
    [5] => You 
    [6] => Buddy? 
) 

donc c'est ce qu'il veut.

Questions connexes