• 你真的了解三元运算符吗?


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

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

    表达式 (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。

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

  • 相关阅读:
    操作系统_3:linux教程列表
    MongoEngine 查询语法
    Spark_1:教程索引
    软件需求十步走之阅读笔记03
    软件需求十步走之阅读笔记02
    软件需求十步走之阅读笔记01
    暑期学习四
    暑期学习三
    暑期学习二
    暑期学习一
  • 原文地址:https://www.cnblogs.com/suojian/p/14173004.html
Copyright © 2020-2023  润新知