Page 1 sur 1

Condition

Posté : 25 oct. 2005, 17:27
par Invité
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

Posté : 25 oct. 2005, 18:06
par Truc
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:

Posté : 26 oct. 2005, 00:48
par stevavai.fr
Fort ça marche merci ;)