当前位置: 首页 > 知识库问答 >
问题:

之间有什么区别?:然后呢??PHP操作者?[重复]

燕禄
2023-03-14

我对这两个运算符都有基本的了解,但想知道两者之间可能导致“难以跟踪”错误的细微差异是什么。

共有1个答案

赵昊阳
2023-03-14

<代码>?:只是三元运算符< code >表达式的一个快捷方式?if true : if false,而零合并运算符< code >??仅具有该构造,并测试变量是否设置/定义为< code>null。

$a = '';
echo $a ?: 'test ?:';
echo $a ?? 'test ??';

产量测试 ?:因为 $a 是一个空字符串,计算结果为 false,但它已设置。

//$a = null;
echo $a ?: 'test ?:';
echo $a ?? 'test ??';

产量:

警告:未定义变量$a test?:测验

在第一行中,因为未设置$a,这会生成通知/警告并计算为 false,而在第二行中,因为未设置。

简而言之:

    < li> ?:将表达式计算为< code>true或< code>false并在< code>false时执行。 < li> ??如果表达式不是< code>null则执行
 类似资料:
  • 我正在浏览微软的Rust教程,它是关于 实现函数,以便返回对插入向量中的值的引用 这里给出了解决方案,但它与我的不同之处在于它使用了 除了返回类型之外,我的和标准解决方案之间的另一个区别是,我只是简单地返回了参数,而标准解决方案使用复杂方式)。 我想知道我的解决方案是否有任何问题,本教程采取了另一种方式? 虽然@Masklin为我的问题提供了一个很好的答案,但它有点特定于我给出的示例,但没有直接解

  • 我对科特林是新来的。我想知道下面代码中这两个和之间的区别。 下面有两个片段:第一个片段使用表示,另一个片段使用表示相同的变量。

  • 问题内容: 我无法理解以下文本…这是否意味着空的构造函数?为什么拥有两个不同的版本很重要? https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html 在Java虚拟机级别,每个构造函数(第2.12节)都作为具有特殊名称的实例初始化方法出现。该名称由编译器提供。因为该名称不是有效的标识符,所以不能直接用Java编程语言编写的程序中使

  • 本文向大家介绍内核和操作系统之间有什么区别?,包括了内核和操作系统之间有什么区别?的使用技巧和注意事项,需要的朋友参考一下 操作系统 操作系统(OS)是管理计算机硬件资源并充当用户与计算机硬件之间的接口的软件集合。它为计算机程序提供通用服务。操作系统是计算机系统中系统软件的重要组成部分。 核心 内核是操作系统的核心部分,并负责该操作系统的所有主要活动。内核由各种模块组成,它直接与底层硬件交互。它还

  • 问题内容: 我试图破译以下功能: 我从http://blog.danlew.net/2014/09/15/grokking-rxjava- part-1/ 获得了一个很好的rxjava简介,但是它只是顺便提到了Observer,说您将在大多数情况下使用Subscriber从Observable发射到消费项目的时间。 有人可以向我解释 什么是观察者? 观察者与订户有何不同? 上面的代码段是做什么的?

  • 本文向大家介绍htm、html、shtml三者有什么区别呢?相关面试题,主要包含被问及htm、html、shtml三者有什么区别呢?时的应答技巧和注意事项,需要的朋友参考一下 htm与html,shtm与shtml区别仅在于一个“l”。 而html与shtml区别于在shtml支持SSI指令,就是在文件里加了一段,旨在将"info.htm"的内容拷贝到当前的页面中,当访问者来浏览时,显示两个页面的