Aller au contenu

Réinitialiser les clés d'un tableau


Sujets conseillés

Posté

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 !

Posté

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 ...

Posté (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é par Kalt
Posté

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.

Posté

J'ai encore plus simple ;)

Ca ne sert à rien :D

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 :)

Posté

Effectivement...si c'est pour le parcourir, foreach fera tout à fait l'affaire... ;) Merci Anonymous, je n'avais pas lu la question complètement.

Posté

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...