Maison > développement back-end > tutoriel php > 三元运算问题

三元运算问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2016-06-23 13:30:50
original
905 Les gens l'ont consulté

$str = true?8888:true?100+100:100000000;echo '<br/>',$str;
Copier après la connexion


为什么我这里结果输出的是200呢? 结合方向是左, 从第一三元运算符开始 为真 已经确定了 是8888 ,“:”后面的 不执行了的。难道不是这样?


回复讨论(解决方案)

$str = true?8888:(true?100+100:100000000); echo '<br/>',$str;
Copier après la connexion


这样就对了

$c=1;$d=1;$str = true?8888:(true?$c++:$d++); echo $c,"<br/>";//1echo $d,"<br/>";//1echo '<br/>',$str;//8888
Copier après la connexion

$str = (true?8888:true)?100+100:100000000; echo '<br/>',$str;//  200
Copier après la connexion


如果不加括号系统是这样解释的。

23$str = (true?8888:true)?100+100:100000000;  echo '<br/>',$str;//  200
Copier après la connexion


系统会这样解析?  三元运算符的 结合方向不是左吗?

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal