php - 一道三目运算符问题

查看:136
本文介绍了php - 一道三目运算符问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

$a = 5;
$b = 10;
echo ($a) ? ($a == 5) ? 'yay' : 'nay' : ($b == 10) ? 'excessive' : ':('; 

不懂结果为什么是 "excessive" ? 求知道的朋友解答下

解决方案

通过修改数值,结合结果来分析吧

//#1 excessive
$a = 5;
$b = 10;
echo ($a) ? ($a == 5) ? 1 : 0 : ($b == 10) ? 'excessive' : ':('; 

//#2 :(
$a = 3;
$b = 10;
echo ($a) ? ($a == 5) ? 1 : 0 : ($b == 10) ? 'excessive' : ':('; 


//#3 excessive
$a = 0;
$b = 10;
echo ($a) ? ($a == 5) ? 1 : 0 : ($b == 10) ? 'excessive' : ':('; 

//#4 :(
$a = 0;
$b = 9;
echo ($a) ? ($a == 5) ? 1 : 0 : ($b == 10) ? 'excessive' : ':('; 

可以看出$a为真时 执行($a == 5) ? 1 : 0 为假时执行 $b == 10
这个结果为真时返回excessive,为假时返回:(

为了方便阅读最好在($a == 5) ? 1 : 0 上加个括号

这篇关于php - 一道三目运算符问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆