搜索

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

染念染念

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

$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了。。
@(惊哭)

php

查看目录

目录

来自 《哇,三目(条件)的顺序真有趣》

    评论区


    1 条评论

    1. 2020年04月06日

      刚好复习到这里,来看看@(滑稽)



    可能感兴趣