Condition

Invité
Invité n'ayant pas de compte PHPfrance

25 oct. 2005, 17:27

bjour tous

prob avec les conditions par exemple
if($mavariable==''){ $bidul='machin';}
ça fait que
$bidul='machin';
que si $variable = rien

mais je voudrai que ma variable $bidul='machin' que si $mavariable commence par 'train'

en clair
$mavariable=trainvert;
if($mavariable LIKE 'train%'){ $bidul='machin';}
mais ce genre de srcipt ne marche que pour les appel a une base de donnée

qqun aurrait une solution ?

merci

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

25 oct. 2005, 18:06

Salut, c'est du SQL "LIKE %" pas du php donc normal que ça ne fonctionne pas tres bien :wink:
$mavariable=substr($mavariable,0,5);//on prend les 5 premier caractères de la chaine

if($mavariable == "train") 
   $bidul='machin';
else 
   $bidul="";
la j'ai décomposé, en plus rapide tu peut faire:
$bidul= (substr($mavariable,0,5) == "train") ? 'machin' : "";
//ou encore
$bidul= (strncmp($mavariable, "train", 5 ) == "train") ? 'machin' : "";
Le principe des 2 cas ( basé sur l'opérateur ternaire "?") est exactemnt le meme que le test précédent.

avec substr() on prend les 5 premier caratères de la chaine (on coupe en 2) $mavariable.
avec
strncmp() on compare les 5 premier caratères d'une chaine (ici $mavariable ) avec un autre ( ici train ). voila 2 exemples avec un peu de doc pour lire :lol:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

stevavai.fr
Invité n'ayant pas de compte PHPfrance

26 oct. 2005, 00:48

Fort ça marche merci ;)