2009-11-19 15 views
44

array:insertar en array en un lugar determinado

A-B-C-D-E-F 

J es el hijo de C. array actualización así:

A-B-C-J-D-E-F 

¿Cómo inserto J después de C en la matriz?

También asigno la matriz en un bucle (matriz de comentarios para visualizar). ¿Tomará mucho tiempo llevar a cabo este método?

+3

No viene G después ?! * OCD * – jocull

Respuesta

63

Puede utilizar array_splice() con $ longitud se establece en 0.

http://de.php.net/manual/en/function.array-splice.php

Ejemplo:

$arr_alphabet = array('a', 'b', 'd'); 
array_splice($arr_alphabet, 2, 0, 'c'); 
// $arr_alphabet is now: array('a', 'b', 'c', 'd'); 
+0

¿No hay otra manera/más rápida? : S –

+0

¿De qué manera el rendimiento de esta función depende del tamaño de la matriz '_splice'd? –

15

Usa la función de empalme para resolver esta.

+0

:) Evolución. Solo los desarrolladores rápidos sobreviven. – aytek

6

Para aquellos que se encuentran con problemas ... encontré que la solución de @ Pekka terminó devolviendo una matriz NULL porque array_splice devuelve la matriz que consiste en los elementos extraídos (http://de.php.net/manual/en/function.array-splice.php).

Sería más exacto de la siguiente manera:

$arr_alphabet = array('a', 'b', 'd'); 
array_splice($arr_alphabet, 2, 0, 'c'); 
print_r($arr_alphabet); 

Devuelve:

Array ([0] => a [1] => b [2] => c [3] => d) 

Pero gracias @Pekka para mí conseguir el 95% del camino!

Cuestiones relacionadas