Page 1 sur 1

Affiché une seule fois les élément d'uen boucle

Posté : 17 juin 2018, 10:25
par yoann38
Salut tout le monde.

Voilà j'ai une boucle qui me permet d'afficher les résultat d'un fichier csv.

J'aimerais afficher uniquement une seule fois le résultat et non au temps de fois qu'il existe dans la boucle.

Exemple :

Rallye
Spectacle
Randonnée
Exposition
Exposition
Exposition

J'aimerais affiché du coup une seule fois Exposition.

Mon code:
$csv = new SplFileObject($fichier);
    $csv->setFlags(SplFileObject::READ_CSV);
    $csv->setCsvControl(';');
     
    // Parcourt du fichier CSV + stockage variables
    foreach($csv as $ligne){
 
// Parcourt du fichier CSV + stockage variables
    foreach($csv as $ligne){
echo $categorie = $ligne[18].'<br>'; // Catégorie
}
 
}
Merci à tous

Re: Affiché une seule fois les élément d'uen boucle

Posté : 17 juin 2018, 13:45
par or 1
$unique = array();
foreach($csv as $ligne){
if(!in_array($ligne[18], $unique)){
echo $categorie = $ligne[18].'<br>'; // Catégorie
$unique[] = $categorie;
}
}

Re: Affiché une seule fois les élément d'uen boucle

Posté : 17 juin 2018, 22:57
par yoann38
Salut à toi.
Le problème persiste avec :
$unique = array();
// Parcourt du fichier CSV + stockage variables
foreach($csv as $ligne){

if(!in_array($ligne[18], $unique)){
	echo $categorie = $ligne[18].'<br>'; // Catégorie
	$unique[] = $categorie;
	}
}
Je tien à préciser que je ne sais pas ce que comporte ligne 18 ( bricolage, tournevis, livre .... ) Enfin un peut de tout, je veut justement affiché une seule fois les valeurs pour ensuite les manipulé plus facilement