2010-01-27 3 views
21

Digamos que tengo esta matriz:¿Cómo agregar un valor de matriz al centro de una matriz?

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

Más adelante en el guión, quiero añadir el valor 'd' antes de 'c'. ¿Cómo puedo hacer esto?

+0

posible duplicado de [Insertar nuevo elemento en la matriz en cualquier posición en PHP] (http://stackoverflow.com/questions/3797239/insert-new-item-in-array-on-any-position-in-php) –

+1

@MichelAyres La pregunta a la que vinculó se publicó después de esta. Creo que eso lo convierte en un duplicado del mío, no al revés: P – Citizen

+2

La pregunta vinculada tiene una mejor respuesta que esta @Ciudadano –

Respuesta

30

Uso array_splice de la siguiente manera:

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

o un enfoque más hecho a sí mismo: array bucle hasta que vea 'D' insertar 'c' y luego 'd' en el siguiente . Cambiar todas las demás entradas derecha una

0

Complejo La respuesta en la pregunta de los ciudadanos es:

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

salida será:

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

así que eso es lo que él quiere.

Cuestiones relacionadas