Signification d'une ligne de code en PHP - PHP - Programmation
Marsh Posté le 27-02-2006 à 10:53:04
la structure
Code :
|
Veut dire la même que
Code :
|
Le fait de mettre la premiére structure entre parentaise avec un "echo" devant veut simplement dire qu'on va afficher la valeur retourné par "instrucion2" ou par "instruction3" en fonction du résultat de "instruction1".
J'espére avoir été assez clair dans l'explication bien que je ne suis pas sur de l'avoir été.
Marsh Posté le 27-02-2006 à 10:54:42
(machin && truc==true)?"yes":"no"
veut dire:
si (machin && truc==true) est vrai, on renvoie "yes", sinon on renvoie "no".
Donc pour ta 1e ligne si $idr est une variable initialisée et qu'elle vaut $code_client[$i], alors on ajoute l'attribut selected (à une checkbox j'imagine), sinon rien.
Marsh Posté le 27-02-2006 à 10:58:27
omega2 a écrit : la structure
|
Pas exactement non, dans le cas de l'expression ternaire le résultat de l'évaluation des branches est renvoyé, pas dans un if/else classique
Marsh Posté le 27-02-2006 à 11:06:25
goueg a écrit : (machin && truc==true)?"yes":"no" |
merci, j'ai compris pour le null, mais je vois toujours pas à quoi sert le point d'interrogation.
Marsh Posté le 27-02-2006 à 11:07:31
Sinon j'ai rien compris pour le if et le else de masklinn :-(
Marsh Posté le 27-02-2006 à 11:10:41
c'est la syntaxe de l'operateur ternaire qui est faite comme ca:
? = true
: = false
sinon j'ai pas bien compris non plus, je crois qu'il veut dire que l'ensemble du ternaire renvoie son etat (true ou false) alors qu'un ensemble if else ne renvoie rien...
Marsh Posté le 27-02-2006 à 11:11:56
chrif a écrit : merci, j'ai compris pour le null, mais je vois toujours pas à quoi sert le point d'interrogation. |
bin avant le "?" tu as le test (qui sera vrai ou faux)
entre le "?" et le ":" tu as ce qui est renvoyé si le test est vrai
après le ":" tu as ce qui est renvoyé si le test est faux
Marsh Posté le 27-02-2006 à 11:13:02
masklinn disait juste que (par exemple) faire un
Code :
|
n'affichera rien vu que le if ne fournira aucune valeur au "echo" tandisque qu'avec la structure basé sur le "?" et le ":" renvéra soit le résultat de ce qui est entre le "?" et le ":" soit ce qui est entre le ":" et le ";" suivant.
Une "expression ternaire" est une expression qui a trois membre. Dans le cas présent, ce qui est avant le "?" ce qui est entre le "?" et le ":" et ce qui est aprés le ":".
Marsh Posté le 27-02-2006 à 11:14:16
un exemple:
<body><?=(true?"yes":"no" )?></body>
donnera après l'exécution du PHP:
<body>yes</body>
alors que <body><?=(false?"yes":"no" )?></body>
donnera
<body>no</body>
Marsh Posté le 27-02-2006 à 10:48:15
Bonjour
je voudrais savoir si quelqu'un peut m'expliquer ce que fait cette ligne de code:
<?php echo((isset($idr) && $idr == $code_clients[$i])?" selected=\"selected\"":null); ?>
et celle là aussi: $idr = isset($_POST['Nom'])?$_POST['Nom']:null;
je comprend pas trop le role du null et du point d'interrogation.
merci