为了账号安全,请及时绑定邮箱和手机立即绑定

三元运算的提问

<?php
$a=80;
($b=$a>=60)?("及格"):("不及格");
echo $b;
?>
这样输出的结果为什么是1 呢?

正在回答

7 回答

你括起来之后得到比较出的结果为ture,然后赋值给变量b,在php里面ture代表的值为1而false代表的值为0,所以输出1。

0 回复 有任何疑惑可以回复我~
#1

慕用4111669

打错了 是true
2017-08-08 回复 有任何疑惑可以回复我~

这是c语言里面讲的比较运算,可以百度一下具体运算方法

0 回复 有任何疑惑可以回复我~

<?php
$a=80;
$c = ($b=$a>=60)?("及格"):("不及格");
echo $b; //输出 1
echo $c; // 输出 及格

?>

三元运算符 简单来说

? 前面是条件 ($b=$a>=60) 值为真 返回:前面的值 反之返回后面的值

0 回复 有任何疑惑可以回复我~

首先>=的等于优先级高于=,先判断$a>=60,条件成立,返回true的值为1,把1赋值给$b,因为($b=$a>=60)?("及格"):("不及格");没有存在的容器,所以不会有判断的结果,想获取及格或者不及格$b=($b=$a>=60)?("及格"):("不及格");想获取$b的分数($b=&$a>=60)?("及格"):("不及格");

3 回复 有任何疑惑可以回复我~

三元运算符从左到右运算,先算$b=$a>=60。而$b=$a>=60中  >=  优先级比  =  优先级高,先运算>=符号,即80>=60得到1,再将1赋给$b。输出的结果$b就是1了。

6 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP入门篇
  • 参与学习       455956    人
  • 解答问题       6306    个

PHP入门教程轻松学习,行业大牛帮您快速掌握PHP编程基础知识。

进入课程

三元运算的提问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信