您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

三元运算问题

2024/3/13 21:00:55发布26次查看
$str = true?8888:true?100+100:100000000;echo '
',$str;
为什么我这里结果输出的是200呢? 结合方向是左, 从第一三元运算符开始 为真 已经确定了 是8888 ,“:”后面的 不执行了的。难道不是这样?
回复讨论(解决方案) $str = true?8888:(true?100+100:100000000); echo '
',$str;
这样就对了
$c=1;$d=1;$str = true?8888:(true?$c++:$d++); echo $c,
;//1echo $d,
;//1echo '
',$str;//8888
$str = (true?8888:true)?100+100:100000000; echo '
',$str;// 200
如果不加括号系统是这样解释的。
23$str = (true?8888:true)?100+100:100000000; echo '
',$str;// 200
系统会这样解析?  三元运算符的 结合方向不是左吗?
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product