哇,三目(条件)的顺序真有趣

简介: @(太开心)今天看到这样的代码

@(太开心)

今天看到这样的代码

$order = strtoupper($order) == 'ASC' || empty($order) ? 'ASC' : 'DESC';

我们假设$order为空字符串,你是否得出这样的结论,

结论是1

@(笑尿)然而测试结果是...

此处内容需要评论回复后方可阅读。


看到这样的结果,我开始怀疑了。。

因为我曾经在博客发过对逻辑运算符的探究

[button href="https://dyedd.cn/735.html"]没有打脸!!![/button]

经过群内热心网友的解答,才发现没有注意到优先级

三目的顺序比逻辑运算符还小。

因此我们得出结论是看出? :先执行

然而却是 ||先

$order = strtoupper($order) == 'ASC' || (empty($order) ? 'ASC' : 'DESC');

当把后面括号起来,结果终于是1了。。

@(惊哭)

目录
相关文章
|
7月前
|
编译器 C语言
关系/条件/逻辑~操作符
关系/条件/逻辑~操作符
|
4月前
|
Java 数据库
为什么要检查循环中的等待条件
【8月更文挑战第22天】
103 5
|
7月前
|
C语言
条件操作符
条件操作符(三目操作符)是C语言中的唯一一个三元运算符,形式为:`表达式1 ? 表达式2 : 表达式3`。如果`表达式1`为真,执行`表达式2`并返回结果;否则执行`表达式3`并返回结果。例子展示了如何用条件操作符输出两个数中的较大值。
39 1
|
前端开发
判断数组对象中是否满足某条件
判断数组对象中是否满足某条件
40 0
|
7月前
顺序排号
顺序排号。
57 5
|
存储 算法 C++
计算1到n的和(不用循环且逐步限制条件)
注:满足题目要求的解法有递归实现的第三种、公式实现、C++调用构造函数累加法三种方法、
84 0
运算符优先顺序(包含类型说明)
运算符优先顺序(包含类型说明)
181 0
运算符优先顺序(包含类型说明)
|
算法
艾伟:一个简单的关键字过滤算法
早上看到老赵的《一个较完整的关键字过滤解决方案(上)》文章,讲到怎样在项目中嵌入过滤方案的问题,以及提到 xingd 和 sumtec 两位大师发表的系列互拼的文章,在此我也忍不住谈谈自己遇到的问题以及一个的简化版的算法。
1013 3