note 40182 added to control-structures.alternative-syntax
| From: | cccso at free dot fr | Date: | Tue, 24 Feb 2004 15:08:56 +0000 |
| Subject: | note 40182 added to control-structures.alternative-syntax | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-65651@lists.php.net to get a copy of this message | ||
J'ai mis du temps à comprendre et si ma réponse est correcte et peut servir à éclairer les
autres ...
Il est indiqué ci dessous :
<?php
$result = ($one) ? "one" : ($two) ? "two" : "none"; // $result is
"two"
?>
La syntaxe normale est :
($test) ? if_test_is_true : if_test_is_false ;
Dans une syntaxe:
A ? B : C ? D : E;
comment php peut interpréter cette ligne ?
où se trouve la partie droite et la partie gauche du "?" et lequel des "?" ?
En fait il évalu la ligne par :
(A ? B : C) ? D :E;
Or l'évaluation de la commande (A ? B : C) retourne TRUE
Donc $result = D quel que soit le contenu (A ? B : C)
A ? B : C ? D : E; retourne D dans tous les cas !
----
Manual Page -- http://www.php.net/manual/en/control-structures.alternative-syntax.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+40182
Delete -- http://master.php.net/manage/user-notes.php?action=delete+40182&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+40182&report=yes
Search -- http://master.php.net/manage/user-notes.php