以下有两个问题!
第一个问题:$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、此处主要是考察三元运算符相当于如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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 份
- 解答问题 4928 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧