Kalt Posté 19 Juin 2006 Posté 19 Juin 2006 J'ai un tableau qui a l'aspect suivant : Array( [5] => 2 [11] => 21 [39] => 52 [68] => 902) Comment faire pour réinitialiser les clés actuelles pour obtenir : Array( [0] => 2 [1] => 21 [2] => 52 [3] => 902) La solution la plus simple serait de parcourir le premier tableau et en constituer un deuxième en incrémentant les clés en partant de zéro. Mais y a-t-il déjà une fonction pour faire ça ? Merci d'avance !
MS-DOS_1991 Posté 19 Juin 2006 Posté 19 Juin 2006 Salut Tu peux toujours éplucher la doc php sur les tableaux, ou bien comme tu l'as dit faire une petite boucle: $i = 0;$new_array = array();foreach ($array AS $key => $value) $new_array[$i++] = $value;
captain_torche Posté 19 Juin 2006 Posté 19 Juin 2006 Apparemment, la liste des fonctions de tableaux de PHP ne semble pas référencer ce genre de fonction. Reste le plan B. [Edit : grillé par MS-DOS]. Il semble que je tape plus lentement avec un sandwich à la main. Pour la peine, je simplifie ce qu'il est encore possible de simplifier dans ton code : foreach ($array AS $value) Bah vi, on n'a plus besoin de la valeur des anciennes clés ...
Kalt Posté 19 Juin 2006 Auteur Posté 19 Juin 2006 (modifié) J'ai plus simple encore pour l'instant : foreach ($array1 as $cle => $val) $array2[] = $val; Mais c'est dommage de consommer des ressources avec 2 tableaux alors qu'un seul suffit. Edit : Merci Captain, c'est encore mieux comme ça. Modifié 19 Juin 2006 par Kalt
TheRec Posté 19 Juin 2006 Posté 19 Juin 2006 Loin de moi l'idée de vous contredire, mais array_merge fait ce boulot à lui tout seul lorsqu'on lui passe un seul tableau en paramètre Donc : $ton_tableau = array_merge($ton_tableau); Et le tour et joué. Bonne continuation.
Anonymus Posté 19 Juin 2006 Posté 19 Juin 2006 J'ai encore plus simple Ca ne sert à rien Tu as accès aux clé du tableau, sans problèmes, avec foreach. Pourquoi vouloir à tout prix recréer le tableau, en lui attribuant de nouveaux index ? Ca n'est très probablement pas utile
TheRec Posté 19 Juin 2006 Posté 19 Juin 2006 Effectivement...si c'est pour le parcourir, foreach fera tout à fait l'affaire... Merci Anonymous, je n'avais pas lu la question complètement.
e.MiLoU Posté 19 Juin 2006 Posté 19 Juin 2006 Je ne sais plus dans quel cas, mais j'ai déjà eu l'utilité de "réorganiser" un tableau... J'avais créé ma propre fonction, n'ayant pas trouvé array_merge
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant