Comparaison
MissLily95
Messages postés
7
Statut
Membre
-
Yuh12 Messages postés 191 Statut Membre -
Yuh12 Messages postés 191 Statut Membre -
Bonjour, j'ai un problème qui peut paraître simple mais je n'arrive pas à m'en sortir.
Je veux comparer deux chaînes de caractère, cependant avec == ou === il ne passe jamais dans la condition.
Voici un bout de mon code :
$parfum = $fruits.$chocolat.$nature.$autre; // Ces variables sont des chiffres (1,2,3,4)
if ($parfum == '1'){
$req ="SELECT NomRecette, DateRecette, Pseudo FROM recette WHERE IdTexture = $texture and IdParfum = 1 ORDER BY NomRecette ASC";
}
En gros je veux que si ma chaine de caractère stockée dans parfum ne comporte que le chiffre 1, le programme utilise cette requête.
J'ai essayé beaucoup de chose et en vérifiant bien que ma variable parfum est une chaîne de caractère (en l'affichant avec un echo) il ne passe jamais dans la condition.
Merci d'avance :)
Je veux comparer deux chaînes de caractère, cependant avec == ou === il ne passe jamais dans la condition.
Voici un bout de mon code :
$parfum = $fruits.$chocolat.$nature.$autre; // Ces variables sont des chiffres (1,2,3,4)
if ($parfum == '1'){
$req ="SELECT NomRecette, DateRecette, Pseudo FROM recette WHERE IdTexture = $texture and IdParfum = 1 ORDER BY NomRecette ASC";
}
En gros je veux que si ma chaine de caractère stockée dans parfum ne comporte que le chiffre 1, le programme utilise cette requête.
J'ai essayé beaucoup de chose et en vérifiant bien que ma variable parfum est une chaîne de caractère (en l'affichant avec un echo) il ne passe jamais dans la condition.
Merci d'avance :)
A voir également:
- Comparaison
- Comparaison million milliard - Accueil - Technologies
- Logiciel comparaison photo gratuit - Télécharger - Photo & Graphisme
- Comparaison samsung a15 et a16 - Accueil - Téléphones
- Comparaison prix amazon - Accueil - Commerce
- Prix Amazon : comment suivre les évolutions de tarifs - Guide
2 réponses
Salut !
Je ne comprend pas trop la logique de concatener les chiffres 1 2 3 4 dans $parfum.
Pour quoi ne pas faire un
En disant == tu vérifies si $parfum est égal à 1 et non pas si $parfum contient 1, ce qui est très différent.
Or ton echo $parfum ne doit pas te donner 1 et donc c'est normal que ça ne passe pas dans l'instruction if.
Je ne comprend pas trop la logique de concatener les chiffres 1 2 3 4 dans $parfum.
Pour quoi ne pas faire un
if($parfum==$fruits)
{
// ma requete
}
else
{
// sinon
}
En disant == tu vérifies si $parfum est égal à 1 et non pas si $parfum contient 1, ce qui est très différent.
Or ton echo $parfum ne doit pas te donner 1 et donc c'est normal que ça ne passe pas dans l'instruction if.
Je vais proposer une autre solution plus adéquate peut-être.
Tu stockes tout les résultats possible dans un tableau :
A ce moment là tu peux vérifier avec in_array() si le numéro que tu cherches est bien dans le tableau ou non.
La déjà on est plus sur la recherche de ce que la variable contient ou non.
Tu stockes tout les résultats possible dans un tableau :
$parfum=array(1=>$fruits, 2=>$chocolat, 3=>$nature, 4=>$autre);
A ce moment là tu peux vérifier avec in_array() si le numéro que tu cherches est bien dans le tableau ou non.
if(in_array($fruits,$parfum))
{
// ma requete
}
La déjà on est plus sur la recherche de ce que la variable contient ou non.
Hmm.. je crois qu'il n'y a pas de cases vide à proprement parler.
Il peut y avoir des variables qui sont égales à 0, mais les cases ne seront pas vide.
Alors il faut parcourir le tableau :
Pour chaque ligne du tableau, on gère la ligne SEULEMENT si elle n'est pas égale à 0.
Je propose des pistes de recherches un peu au pif mais en vrai je comprend pas bien ce que tu veux faire.
Si tu donnes un peu plus de détails sur ton site/programme/énnoncé d'exos ou quoi ce serait plus facile d'aider.
Il peut y avoir des variables qui sont égales à 0, mais les cases ne seront pas vide.
Alors il faut parcourir le tableau :
foreach ($tableau as $ligne)
{
if($ligne!=0)
{
// alors
}
}
Pour chaque ligne du tableau, on gère la ligne SEULEMENT si elle n'est pas égale à 0.
Je propose des pistes de recherches un peu au pif mais en vrai je comprend pas bien ce que tu veux faire.
Si tu donnes un peu plus de détails sur ton site/programme/énnoncé d'exos ou quoi ce serait plus facile d'aider.