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

Mammouth du PHP | 643 Messages

17 juin 2018, 10:25

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

Mammouth du PHP | 2703 Messages

17 juin 2018, 13:45

$unique = array();
foreach($csv as $ligne){
if(!in_array($ligne[18], $unique)){
echo $categorie = $ligne[18].'<br>'; // Catégorie
$unique[] = $categorie;
}
}

Mammouth du PHP | 643 Messages

17 juin 2018, 22:57

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