PHP7中增加了双问号“??”的语法,我们来讨论一下这个新语法怎么使用,先看下面这个简单的语句:echo $a ?? -1;

这行语句是一个判断语句,判断变量$a是否存在,存在的话输出变量$a,否则输出-1。很显然由于变量$a没有被定义,所以输出的结果是“-1”。

我们再来看下面这行简单的语句:echo $a ? 1 : -1;

上面这行代码是判断变量$a是否为空,如果为空的话输出“-1”,否则输出“1”。这行代码的输出结果也是“-1”,那么上面这两者有什么区别呢?

“??”语句判断的是变量$a是否存在,“?:”语句判断的是变量$a是否为空,当然如果变量不存在的话,也是为空的。所以“?:”的结果包含了“??”的结果。

我们再来看以下两个例子:

例子一:$a = 0;

echo $a ?? -1;

例子二:$a = 0;

echo $a ? 1 : -1;

我们运行上面两个示例后可以发现,例子一的输出是“0”,因为变量$a已经被赋值了,是一个已经存在的变量,所以输出了变量$a本身的值“0”。例子二输出的是“-1”,因为值为“0”的变量依旧会被认为是空的,所以输出了“-1”。

通过以上示例,我们发现双问号“??”判断的是是否存在,“?:”判断的是是否为空。

php 7.2 双问号,PHP7的双问号“??”语法以及和“?:”的区别相关推荐

  1. java 双等号(==) 与equals方法的介绍和区别

    java 双等号(==) 与equals方法的介绍和区别 1.基本数据类型与equals方法 == 用于比较基本数据类型时,比较的是值 ==用于比较引用数据类型时,比较的是地址 equals方法在Ob ...

  2. 算法笔记--无向图的桥、割点、边双连通分量和点双连通分量

    概念: 桥:无向图中删去一条边使得图不再联通,则这条边称为桥 割点:无向图中删去一个点使得图不再联通,则这个点称为割点 算法: 运用到tarjan算法 关于tarjan算法: https://www. ...

  3. PCIe数据卡设计资料第611篇:基于VU9P的双路5Gsps AD 双路6Gsps DA PCIe数据卡

    基于VU9P的双路5Gsps AD 双路6Gsps DA PCIe数据卡 一.板卡概述 基于XCVU9P的5Gsps AD DA收发PCIe板卡.该板卡要求符合PCIe 3.0标准,包含一片XCVU9 ...

  4. 谨以此文,献给我的大学四年—双非本科到双一流985的成长之路

    谨以此文,献给我的大学四年-双非本科到双一流985的成长之路 天才白痴梦 谨以此文,献给我的大学四年-双非本科到双一流985的成长之路 大一时光 大二时光 大三时光(高光时刻) 大四时光 随感 我承认 ...

  5. 电商“双11”or直播“双11”?

    2020双十一,电商玩法变了.双十一,直播电商已成主流. 日渐普及的直播电商,正在重构零售. 01 双十一,直播电商成主流 2020年,直播电商无疑是消费领域最火爆的话题.疫情之下,各行业争相入局,企 ...

  6. Latex中插入用origin绘画的两条坐标轴,双x轴或者双y轴拥有不同刻度的图片

    先上效果图,如果所示,上面x轴的刻度从20-30,下面x轴的刻度从0-6,这样就达到了上下两条x轴显示不同刻度的目的. 下面我们说一下怎么做到的,其实比较简单,通过添加一层图层,就可以做到了,也就是说 ...

  7. 兆骑科创高层次人才引进双创平台,双创服务,赛事路演

    兆骑科创高层次人才引进双创平台,双创服务,赛事路演 高层次人才引进一直是各地方关注的问题,每个地方也出台了一系列政策扶持,形成了现在"抢人大战"的局面.兆骑科创作为国内专业的双创服 ...

  8. 2022年京东双11和天猫双11预售时间介绍

    2022年京东双11和天猫双11预售时间介绍 金秋10月将至,同时我们期待的双十一购物节活动商家们正在备货中,接下来就是第一波预售了,双11预购将于晚上8点开始,姐妹们觉得这时间好吗?毕竟这个时间点不 ...

  9. 双11_淘宝双11_天猫双11_双11是什…

         双11_淘宝双11_天猫双11_双11是什么?我来扫盲,双11是淘宝,准确的说应该是天猫大招的大型购物节日(网购狂欢节).时间是每年的11月11日,故名双11,由于日期数字是4个1,所以又名 ...

最新文章

  1. numpy库中ones和zeros函数传入的shape(表示各个维度的度数)参数的详解
  2. ruby和python简单对比
  3. canvas学习绘制扇形
  4. python语言流程控制语句的格式_Python流程控制语句的深入讲解
  5. pom.xml配置文件配置jar(不用记,快速配置)
  6. c语言程序执行完main函数后,一个c程序在执行main函数之前和main之后都做了那些事情啊该如何解决...
  7. kali 邮箱攻击_kali下邮件发送工具swaks入坑
  8. python数据库连接池neo4j_在python中操作neo4j数据库的方法
  9. 常见花材的固定的方法有哪些_固定无梁拱形屋顶的方法都有哪些呢?
  10. Windows 7安装 Visual Studio 2010之大战三大回合
  11. python爬虫豆瓣推理书籍及链接
  12. 免打扰清理微信僵尸好友工具
  13. 华为android打开usb调试模式,华为P6 USB调试在哪 如何打开USB调试【详解】
  14. 计算机蓝屏代码0x000000ED,XP系统蓝屏提示错误代码0x000000ED怎么办?
  15. homeassistant 快速入门
  16. 哲学家就餐问题之管程
  17. 网络设备自动巡检工具(五)——由自动巡检引发的遐想【2020-10-30】
  18. ubuntu18.04 快速搭建 Hyperledger Fabric超级账本框架
  19. Markdown图片居中、文字居中
  20. ​LeetCode刷题实战216:组合总和 III

热门文章

  1. android通讯录操作批量查询删除更新头像vcf文件写入读取便捷方法
  2. PDM图纸管理软件_PDM图纸管理系统
  3. 你在网上献的爱心,估值400亿
  4. 通宵整理的前端开发技能树
  5. git config命令详解
  6. python画蝴蝶结_Shapely中的多边形相交错误:“Shapely.geos.TopologicalError:geos intersection操作生成了空几何体”...
  7. 点击置顶按钮页面置顶到指定位置
  8. 深度共建产业学院项目合作协议-某真实案例
  9. 数据分析上千部动漫作品
  10. Unity_磁铁道具吸收金币效果_054