Syntaxe php incomprehensible

Résolu
wildchildforlife Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   -  
wildchildforlife Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. 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
    1. 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
    2. wildchildforlife Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   2
       
      Merci les gars, c'est vraiment bien détaillé là :) !!
      0