2010-01-27 10 views
21

Diciamo che ho questo array:Come aggiungere un valore di matrice al centro di un array?

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

Più tardi nello script, voglio aggiungere il valore 'd' prima 'c'. Come posso fare questo?

+0

possibile duplicato del [Inserire un nuovo elemento nella matrice su qualsiasi posizione in PHP] (http://stackoverflow.com/questions/3797239/insert-new-item-in-array-on-any-position-in-php) –

+1

@MichelAyres La domanda a cui sei collegato è stata postata dopo questa. Credo che il suo fa un duplicato di mio, non il contrario: P – Citizen

+2

La questione legata ha risposta migliore di questa @Citizen –

risposta

30

Usa array_splice come segue:

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

o un approccio più self-made: array Loop fino a vedere 'd' Inserisci 'c' poi 'd' in quello successivo . Spostare tutte le altre voci proprio vicino a una

0

La risposta Complesso sulla domanda dei cittadini è:

$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); 

uscita sarà:

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

thats so quello che lui vuole.

Problemi correlati