PHP-三元运算符

今天在看同事提交的diff的时候发现了一个,自己不常用的写法
下面简单记录下三元的使用:
三元运算符语法:条件 ? 结果1 : 结果2 ,看起来不难理解
问号前面的位置是判断的条件,如果满足条件时结果1,不满足时结果2

例:
$a = true;
$b = $a ? 1 : 2;
echo $b;

在平时写代码过程中 三元运算虽然可以嵌套多个进行达到 if else if的使用,但为了代码的可读性,不建议这么使用。

第二种简洁写法:

$a = 1;
$b = a ?: 2;
echo $b;

这里有个个需要注意的地方,很多小伙伴在使用三元的时候 ,会对条件参数进行判断,例如:isset empty 等。
在同事提交的代码中,就将运算写成了

$a = 1;
$b = isset($a) ?: 2;
var_dump($b);

如上代码并不会报错,但$b得到的赋值并不是你想要的,因为isset()会对$a变量进行判断,返回一个布尔值 true / false ,这个时候$b得到的就是 true了。并不是会把$a 的值 “ 1 ”赋值给它。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 缘起 今天阅读 Laravel 的源码时发现"三元运算符"的一种简洁写法: ?: 是写在一起的! "三元运算符"是...
    patiencing阅读 14,555评论 0 2
  • php的三元运算符有几种写法: $arr = [1,2]; 1、?? 运算符(合并运算符) 此运算符是php7加...
    夏木研啊阅读 7,548评论 0 0
  • 有些简单的方法,发现了就得记住了,以后就这么用;不仅易读,而且简洁; 三元运算符: 例子: 上边代码等价于: 如果...
    古佛青灯度流年阅读 3,283评论 0 0
  • 最近在工作中写了一个比较长的三元运算表达式,但是结果始终是错误的,在网上搜了相关信息了解到,原来php的三元运算顺...
    老4阅读 5,795评论 0 0
  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,本章逐一介绍这些运算...
    徵羽kid阅读 4,012评论 0 0

友情链接更多精彩内容