Aller au contenu

question de programmation


Sujets conseillés

Posté

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...

Posté

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

Posté

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');}

Posté
Bon, Dan trop rapide pour moi .  :whistling:

Vaut mieux deux réponses que pas du tout, non ? :lol:

Veuillez vous connecter pour commenter

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



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