Page 1 sur 1

Chaine dans une array() reconnu comme une seule valeur ?

Posté : 13 oct. 2010, 11:23
par pierrax
Bonjour,

Je met en place un script qui me permet d'enlever des doublons avec la fonction
array_unique()
.

Pour cela je part d'un array comme suit :
$values = Array("mathematiques", "anglais", "anglais", "allemand", "mathematiques", "anglais");
Simplement, pour des questions pratique, je remplace la chaine par une variable :
$values = Array("mathematiques", "anglais", "anglais", "allemand", "mathematiques", "anglais");
par :
$values = Array($listematidstring);
Le soucis est que la chaine est reconnu comme une seule valeur et que la suppression de doublons ne peut pas ce faire.

Au lieu d'avoir comme valeur :

val 1 : mathematiques
val 2 : anglais
val etc..

j'ai :

val 1 : "mathematiques", "anglais", "anglais", "allemand", "mathematiques", "anglais"

Quelqu'un aurait un élément de réponse.

Merci
:D

Re: Chaine dans une array() reconnu comme une seule valeur ?

Posté : 13 oct. 2010, 11:46
par momox
C'est normal comme comportement.
Utilises explode() dans ton cas.

Re: Chaine dans une array() reconnu comme une seule valeur ?

Posté : 13 oct. 2010, 11:47
par xTG
Tu as créé un array de un élément en fait. :)

Pour créer à un array à partir d'une string tu peux passer par la commande explode().
$string = "Maths, Anglais, Philosophie, Anglais";
$string_traite = str_replace(' ','',$string); // suppression des espaces qui nous gênent
$tab = explode(',',$string_traite); // explode sur le caractère ,
print_r($tab);

Re: Chaine dans une array() reconnu comme une seule valeur ?

Posté : 13 oct. 2010, 11:59
par pierrax
Merci, j'avais oublié qu'un variable est considérer comme unique.

J'avais déjà utlilisé explode, mais pas dans ce cas là.

Merci pour vos réponse
:P