Ajouter une condition à une variable

Eléphant du PHP | 372 Messages

17 avr. 2016, 11:36

Salut à tous.
J'ai un if dans le quel j'aimerais rajouté à la suite lyon.
En gros faire en sorte que ça s'éxécute si REQUEST ville n'est pas égal à lyon
if ($result > 0 && !empty($_REQUEST['ville'])) {
			$accord.= 'mon texte' <br>';
Merci à vous

Mammouth du PHP | 2703 Messages

17 avr. 2016, 13:58

if ($result > 0 && !empty($_REQUEST['ville']) && $_REQUEST['ville'] != "Lyon") {

Eléphant du PHP | 372 Messages

17 avr. 2016, 15:10

merci. mais si j'ai plusieurs villes ?

Eléphant du PHP | 372 Messages

17 avr. 2016, 17:12

Quelque chose comme ?

if ($result > 0 && !empty($_REQUEST['ville']) && $_REQUEST['ville'] != "Lyon", "Paris") {

PS : php fait une différence entre Lyon et lyon, comment faire pour que peu importe si il y a une majuscule ou pas svp ?
merci encore

Mammouth du PHP | 1967 Messages

18 avr. 2016, 16:53

if ($result > 0 && !empty($_REQUEST['ville']) && !in_array(strtolower($_REQUEST['ville']),array("lyon","paris","..."))) {
tu continue avec toutes les villes en minuscule.

Mais atrtention lYOn, LYON, lyoN, ... fonctionneront aussi. mais je pense pas que cela puisse poser problème
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

19 avr. 2016, 12:29

En complément, tu peux aussi utiliser str_to_upper() ou str_to_lower() pour mettre en majuscule ou en minuscule une chaine avant de la comparer.
Ainsi dans ton tableau tu mets toutes tes valeurs en majuscules et tu appliques en str_to_upper() sur la valeur transmise par l'utilisateur pour ne pas t'embêter avec ça :)

Attention cependant car tu risques d'avoir des espaces, traits d'unions, fautes d'orthographes, abréviations, ... qui ne seront donc pas traités. Quitte à faire un tableau de valeur possible, autant utiliser celui-ci pour alimenter un menu déroulant au lieu de demander à l'utilisateur de saisir son texte lui même :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 1967 Messages

19 avr. 2016, 15:02

Merci Ryle pour ces explications plus détaillé, mais j'avais déjà inclus l'utilisation de strtolower() dans mon exemple, et au passage, il ne faut pas inclure les undescore ;-)
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

19 avr. 2016, 15:05

Oops, désolé j'ai lu trop vite... :)
J'ai vu le in_array et comme juste en dessous tu disais de faire attention avec les lYOn, LYON, lyoN, j'ai loupé de str_to_lower() ... :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...