2009-11-19 8 views
44

tableau:Insérer dans un tableau à un endroit spécifié

A-B-C-D-E-F 

J est le fils de la matrice de mise à jour C. si:

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

Comment insérer J après C dans le tableau?

Je mappe également le tableau dans une boucle (tableau de commentaires à afficher). Cette méthode prendra-t-elle beaucoup de temps à fonctionner?

+3

Est-ce que G ne vient pas ?! * OCD * – jocull

Répondre

63

Vous pouvez utiliser array_splice() avec une longueur de $ mis à 0.

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

Exemple:

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

Il n'y a pas d'autre/plus rapide? : S –

+0

Comment les performances de cette fonction dépendent de la taille du tableau '_splice'd? –

15

Utilisez la fonction d'épissure pour résoudre ce.

+0

:) Évolution. Seuls les développeurs rapides survivent. – aytek

6

Pour ceux qui rencontrent des problèmes ... J'ai trouvé que la solution de @ Pekka a fini par renvoyer un tableau NULL car array_splice retourne le tableau constitué des éléments extraits (http://de.php.net/manual/en/function.array-splice.php).

Il serait plus exact comme suit:

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

Retours:

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

Mais grâce @Pekka pour moi d'obtenir 95% du chemin!

Questions connexes