modifier element tableau

Invité
Invité n'ayant pas de compte PHPfrance

24 mars 2007, 12:08

Bonjour,
Y a t il un moyen de transformer ceci:
$tab= array("Rouge", "JauneBleu", "Vert", "Noir");
en ceci :
$tab= array("Rouge", "Jaune", "Bleu", "Vert", "Noir");
Je suis ouvert à tout, merci pour vos réponses.

Eléphant du PHP | 170 Messages

24 mars 2007, 12:14

Et comment veux-tu que la notion "JauneBleu" ou "GrisVert" soit associée à deux couleurs.
Sur quels éléments particuliers vas-tu te baser.

Parce que le mot JauneBleu est un mot, rien d'autre.
Benjamin Franklin a dit :
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends

Invité
Invité n'ayant pas de compte PHPfrance

24 mars 2007, 12:39

en fait j'ai un autre tableau $couleurs qui contient des couleurs.
Supposons que "Jaune" appartienne à $couleurs.

J'aimerais créer une boucle qui parcourt $tab et transforme l'élément "JauneBleu" en 2 éléments "Jaune", "bleu", parceque "Jaune" se trouve dans $couleurs.

Avec foreach et in_array, je peux parcourir $tab et vérifier si "jaune" se trouve dans $couleurs.

Mon pb, c'est comment transformer un élément de tableau "JauneBleu" en deux éléments de tableau "Jaune" et "Bleu".

Peut-on agir directement sur le tableau, ou faut-il le transformer en chaîne de caractères?

J'arrive à raisonner mais pas très bon en php, donc vos suggestion sont plus que bienvenues!

Eléphant du PHP | 170 Messages

24 mars 2007, 12:53

Tu dois pour voir exploiter cela avec strpos() et ses petites soeurs.
Faudra le faire en plusieurs passages.
Benjamin Franklin a dit :
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends

Invité
Invité n'ayant pas de compte PHPfrance

24 mars 2007, 16:17

qu'entends tu par "plusieurs passages" ?

Invité
Invité n'ayant pas de compte PHPfrance

24 mars 2007, 19:36

si j'ai bien compris :

ta solution tu la trouvera sur la fonction explode() et implode()

ViPHP
ViPHP | 1996 Messages

25 mars 2007, 19:41

Si c'est toujours JauneBleu (Majuscule _ Majuscule). Tu peux lister ton tableau avec foreach, détecter la majuscule avec un REGEX et scinder le mot en deux via strpos() par exemple puis le "pousser" à la fin du tableau avec array_push()
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr