Syntaxe php incomprehensible

Résolu
wildchildforlife Messages postés 86 Statut Membre -  
wildchildforlife Messages postés 86 Statut Membre -
Est ce que quelqu'un pourrai m'expliquer cette syntaxe svp :

$variable1 = (isset($_GET["variable1"])) ? $_GET["variable1"] : NULL;


Durant ma formation, j'ai pas remarqué de "?" dans une condition et le ": NULL" j'ai pas compris aussi !! Merci pour les explications !! ( j'imagine que "avion-f16" va débarquer a ma rescousse encore une fois :D, merci d'avance xD ) !!


1 réponse

Py_rex Messages postés 250 Statut Membre 52
 
Bonjour

1) La valeur spéciale NULL représente l'absence de valeur. Une variable avec la valeur NULL n'a pas de valeur. Le type NULL a été introduit en PHP 4.

Une variable est considérée comme NULL si :

* elle a eu d'assigner la constante NULL .
* elle n'a été définie à aucune valeur en fait.
* elle a été détruite par la fonction unset .


2) Il est possible de faire un test avec une structure appelée opérateur ternaire :

(condition) ? instruction si vrai : instruction si faux

* la condition doit être entre des parenthèses
* Lorsque la condition est vraie, l'instruction de gauche est exécutée
* Lorsque la condition est fausse, l'instruction de droite est exécutée

donc

$variable = (condition) ? $valeur1 : $valeur2;

attribuera $variable la valeur de $valeur1 si la condition est vraie et la valeur de $valeur2 si la condition est fausse.
3
Absinthe06 Messages postés 113 Statut Membre 11
 
exactement ! en fait, c'est une utilisation plus rapide d'un test "if" :
if(condition) 
     $variable = $valeur1; 
else 
     $variable = $valeur2;
0
wildchildforlife Messages postés 86 Statut Membre 2
 
Merci les gars, c'est vraiment bien détaillé là :) !!
0