Pb array_unique et preg_split

Résolu/Fermé
dadateite Messages postés 310 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 4 août 2014 - Modifié par dadateite le 3/08/2014 à 22:01
dadateite Messages postés 310 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 4 août 2014 - 4 août 2014 à 20:42
Bonjour,

Je cherche à trier un tableau mais il me retrourne un tableau vide alors que mon tableau n'est pas vide si je fais un print_t de $tabGenre.

Pourquoi ?

Le but est de récupérer tous les genres de films que j'ai mais des fois j'ai :
- Horreur / Thriller
- Comédie - Fantastique
- Epouvante
- Comédie - Fantastique - Thriller

Je ne veux que
- Horreur
- Thriller
- Comédie
- Fantastique
- Epouvante

$sqlGenre = "SELECT DISTINCT Genre FROM fmt_films WHERE Genre IS NOT NULL ORDER BY Genre";
$reqGenre = mysql_query($sqlGenre) or die('Erreur de la requete SQL !');

$tabGenre=array();
while($data = mysql_fetch_assoc($reqGenre))
{
$tabGenre[]=preg_split("/[-\/]+/", $data[Genre]);
}

$result = array_unique($tabGenre);


print_r($result);

Cdt

2 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
4 août 2014 à 17:47
bonjour,

preg_split va scinder ta valeur dans un array, tu mets donc cet array dans un index de $tabGenre, donc un tableau a deux dimentions, ça doit coincer au moment du tri array_unique

essayes comme ça:

$tabGenre=array();
while($data = mysql_fetch_assoc($reqGenre))
{
$s_array=preg_split("/[-\/]+/", $data[Genre]);
foreach($s_array as $key=>$value){
$tabGenre[]=$value;
}
}

$result = array_unique($tabGenre);


print_r($result);
1
dadateite Messages postés 310 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 4 août 2014 180
4 août 2014 à 20:42
Ca fonctionne très bien, merci !
0