zoukankan      html  css  js  c++  java
  • 你真的了解三元运算符吗?

    三元运算符大家平常肯定不少用,但是,你真的了解三元运算符吗?

    先来讲基础版本的运算符:?

    表达式 (expr1) ? (expr2) : (expr3) 在 expr1 求值为 true 时的值为 expr2,在 expr1 求值为 false 时的值为 expr3。

    比较简单,和字面意思一样,expr1 为真时返回 expr2,反之返回 expr3。

    然后说下进化版:?:  条件运算符

    自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 true 时返回 expr1,否则返回 expr3。

    需要注意的是,当 expr1 为表达式时,返回值为结果值。例如:

    $b = -3;
    $a = $b>0 ?: 'b is little';     //bool(true)

    为变量则返回对应的变量值。

    $b = 3;
    $a = $b ?: 'b is little';    //int 3

    最后说下究极进化版:?? 合并运算符

    PHP 7 开始存在 "??" (NULL 合并)运算符。主要用来作 isset 的判断。

    当 expr1 为 null,表达式 (expr1) ?? (expr2) 等同于 expr2,否则为 expr1。

    使用过程中一定要先明确表达式的返回结果,要不然挖坑把自己埋了,排错都万万想不到会是一个表达式的问题。别问为啥知道的,问就是自己踩过坑。

  • 相关阅读:
    Linux系统目录数和文件数限制
    用十条命令在一分钟内检查Linux服务器性能
    Linux 性能
    vmstat命令
    利用Clonezilla备份还原Linux系统 (转载别人的知识)
    性能,并发,压力--别人所写
    linux -top 命令
    Linux 随写
    接口测试
    Jmeter关联正则表达式提取器
  • 原文地址:https://www.cnblogs.com/suojian/p/14173004.html
Copyright © 2011-2022 走看看