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。

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

  • 相关阅读:
    短信验证倒计时60s
    jquery select省市区三级联动
    C# 遍历文本框
    html formData 数据 提交和 .netMVC接收
    jq遍历table 下的 td 添加类
    jq 替换DOM layeui 不刷新
    jq 获取表单所有数据
    js 二级联动
    MVC 下载文件
    MVC 上传文件
  • 原文地址:https://www.cnblogs.com/suojian/p/14173004.html
Copyright © 2011-2022 走看看