Un critère de sélection dans foreach !!
Résolu/Fermé
A voir également:
- Un critère de sélection dans foreach !!
- Selection verrouillée word ✓ - Forum Word
- L'indice n'appartient pas à la sélection vba ✓ - Forum Programmation
- Vous ne pouvez pas apporter cette modification car la sélection est verrouillée ✓ - Forum Word
- Afficher cadre de selection illustrator ✓ - Forum Illustrator
- Liste déroulante en fonction d'un critère - Forum Excel
5 réponses
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
12 juin 2017 à 10:37
12 juin 2017 à 10:37
Bonjour,
Difficile de te répondre avec si peux d'informations ....
D'où proviennent tes valeurs ?
Que contient ton foreach ?
Où se trouve le $value ?
et puis...
Récupérer dans quoi ? comment ? pour en faire quoi ???
Sachant que
... tu veux dire un IF tout simplement non ??
Difficile de te répondre avec si peux d'informations ....
D'où proviennent tes valeurs ?
Que contient ton foreach ?
Où se trouve le $value ?
et puis...
je voudrais uniquement récupérer
Récupérer dans quoi ? comment ? pour en faire quoi ???
Sachant que
je voudrais ajouter un critère de sélection
... tu veux dire un IF tout simplement non ??
Yuh12
Messages postés
184
Date d'inscription
mercredi 7 mai 2014
Statut
Membre
Dernière intervention
28 septembre 2017
24
12 juin 2017 à 10:43
12 juin 2017 à 10:43
Bonjour,
Tu peux créer un tableau vide avant ton foreach.
A l'intérieur du foreach tu met ta condition à l'aide d'un if.
A l'intérieur tu remplis ton tableau vide des éléments qu'il te faut.
Ensuite voici les fonctions de tris des tableaux ou tu pourras trouver ton bonheur pour trier par ordre décroissant.
https://www.php.net/manual/fr/array.sorting.php
Tu peux créer un tableau vide avant ton foreach.
A l'intérieur du foreach tu met ta condition à l'aide d'un if.
A l'intérieur tu remplis ton tableau vide des éléments qu'il te faut.
$tableau_tri = array(); foreach ($table_elements as $key => $value) { if($value == 10){ $tableau_tri[]=$value; } }
Ensuite voici les fonctions de tris des tableaux ou tu pourras trouver ton bonheur pour trier par ordre décroissant.
https://www.php.net/manual/fr/array.sorting.php
Oui tu as raison je suis beaucoup trop vague, une petit code pour mieux me faire comprendre:
Je ne veux pas lire les lignes où $value est inégale à 'jaune', mais dans le cas contraire je me contenterais bien d'un simple IF dans la boucle.
<?php $array1= array('banane'=>'jaune', 'citron'=>'jaune', 'tomate' => 'rouge'); foreach($array1 as $key=>$value /* je voudrais que le critère soit présent à cette endroit là, du genre $value=== 'jaune' */) { echo $value; } ?>
Je ne veux pas lire les lignes où $value est inégale à 'jaune', mais dans le cas contraire je me contenterais bien d'un simple IF dans la boucle.
Yuh12
Messages postés
184
Date d'inscription
mercredi 7 mai 2014
Statut
Membre
Dernière intervention
28 septembre 2017
24
12 juin 2017 à 11:31
12 juin 2017 à 11:31
Pour filtrer les éléments de ton tableau tu peux aller voir du côté de la fonction array_filter().
$arr= array('banane'=>'jaune', 'citron'=>'jaune', 'tomate' => 'rouge'); var_dump(array_filter($arr, function($v, $k) { return $v == 'jaune'; }, ARRAY_FILTER_USE_BOTH));
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
12 juin 2017 à 11:37
12 juin 2017 à 11:37
Bonjour,
Tu peux utiliser un array_filter : https://www.php.net/manual/fr/function.array-filter.php
Tu peux utiliser un array_filter : https://www.php.net/manual/fr/function.array-filter.php
<?php $array1= array('banane'=>'jaune', 'citron'=>'jaune', 'tomate' => 'rouge'); function yellow($var) { // retourne lorsque l'entrée est impaire return($var == 'jaune'); } $array_filtre = array_filter($array1, "yellow"); foreach($array_filtre as $key=>$value { echo "<br>$key : $value"; } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question