以下有两个问题!
第一个问题:$i=3;
$j=8;
echo "{$i}+{$j}=".($i+$j);运算后答案为什么是11?
第二个问题:echo true?true:false;
echo 1?true:false;
var_dump(false?0:1);这三个运算后答案是1?
6
收起
正在回答 回答被采纳积分+1
2回答
guly
2019-11-28 14:42:55
你好,1、当 "{$i}+{$j}=".($i+$j); =和.的优先级是同级的,表达式中加上()时优先级最高先执行3+8=11,而"{$i}+{$j}="相当于一个字符串 3+8= 然后与11通过连接符.连接,
2、此处主要是考察三元运算符相当于如下:
if(true){ echo true; }else{ echo false; } echo "</br>"; //echo 1?true:false; if(1) { echo true; }else{ echo false; } echo "</br>"; //var_dump(false?0:1); if(false){ echo 0; }else{ echo 1; }
如果解决您的问题请采纳,祝学习愉快!
PHP小白零基础入门
- 参与学习 人
- 提交作业 626 份
- 解答问题 4930 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星