Aller au contenu

question de programmation


lorik

Sujets conseillés

Bonjour,

Je suis en train d'assayer de comprendre un script open source en php, et je bute sur une ligne (entre autres :lol: ) :

 $_SESSION['A']     = (GetVar('A')=='')     ? $_SESSION['A']     : GetVar('A');

Ma question concerne le '?' et le ':'.

Je suppose que c'est une structure de programmation habituelle, mais je ne vois pas ce que ça signifie.

Merci de vos lumières...

Lien vers le commentaire
Partager sur d’autres sites

Salut Lorik,

C'est une équivalence à un "if then else".

En clair:

print $a > 0 ? "positif" : "négatif ou nul";

dit: si $a est supérieur à 0, on écrit "positif", dans le cas contraire on écrit "négatif".

Donc la règle générale est

condition ? action si vrai : action si faux;

Dan

Lien vers le commentaire
Partager sur d’autres sites

Bonjour, ;)

C'est une autre façon d'écrire un if else: opérateur ternaire

Donc ceci aurait pu s'écrire de cette maniére:

if (GetVar('A')=='') {$_SESSION['A'] = $_SESSION['A'];}
else {$_SESSION['A'] = GetVar('A');}

quoique je ne vois pas trop l'intérêt de faire

$_SESSION['A'] = $_SESSION['A'];

, plus simple me semble:

if (GetVar('A')!='') {$_SESSION['A'] = GetVar('A');}

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...