PHP7 语法“??” 和“?:”的区别_php7三元运算符_彭世瑜的博客-CSDN博客


本站和网页 https://blog.csdn.net/mouday/article/details/117842899 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

PHP7 语法“??” 和“?:”的区别_php7三元运算符_彭世瑜的博客-CSDN博客
PHP7 语法“??” 和“?:”的区别
彭世瑜
已于 2022-09-02 14:54:11 修改
6278
收藏
文章标签:
php
开发语言
于 2021-06-12 11:54:10 首次发布
本文为博主原创文章,欢迎转载,请注明出处
本文链接:https://blog.csdn.net/mouday/article/details/117842899
版权
$a ?? 0 等同于 isset($a) ? $a : 0
$a ?: 0 等同于 $a ? $a : 0
empty: 判断一个变量是否为空(null、false、00、0、’0′、』这类,都会返回true)
isset: 判断一个变量是否设置(值为false、00、0、’0′、』这类,也会返回true)
示例
// 定义之前
print_r($name ?? 'Tom');
// Tom
print_r($name ?: 'Jack');
// Jack
// Undefined variable: name
// 定义之后
$name = '';
print_r($name ?? 'Tom');
// ''
print_r($name ?: 'Jack');
// Jack
示例
当变量 $a 已定义,bool值为false的时候
$a = 0;
$b = 1;
var_dump($a ?? $b); // int(0)
var_dump(isset($a) ? $a : $b); // int(0)
var_dump($a ?: $b); // int(1)
var_dump($a ? $a : $b); // int(1)
当变量 $a 未定义的时候
$b = 1;
var_dump($a ?? $b); // int(1)
var_dump(isset($a) ? $a : $b); // int(1)
var_dump($a ?: $b); // PHP Notice: Undefined variable: a
var_dump($a ? $a : $b); // PHP Notice: Undefined variable: a
PHP7中的运算符 ?: 和 JavaScript 中运算符|| 作用基本一致,都是三元运算符的简写
console.log(true ? true : false) // true
console.log(true || false) // true
console.log(false || true) // true
console.log(0 || 1) // 1
console.log("" || "Tom") // Tom
参考 PHP7 引入的“??” 和“?:”的区别
彭世瑜
关注
关注
点赞
收藏
打赏
知道了
评论
PHP7 语法“??” 和“?:”的区别
示例。
复制链接
扫一扫
php7新特性 三元,php7新特性新增几个操作符
weixin_33739574的博客
04-02
111
php7新特性新增两个操作符是<=>和??。在 PHP7 中,引入了一个新的功能,即空合并运算符(??)。由于在 PHP7 项目中存在大量同时使用三元表达式和 isset() 的情况,因此新增的空合并运算符可以用来取代三元运算与 isset () 函数,如果变量是存在的并且不为 null ,则空合并运算符将返回它的第一个操作数;否则将返回其第二个操作数。 (推荐学习:PHP视频教程)P...
PHP7 引入的“??” 和“?:”的区别
热门推荐
weixin_43154922的博客
09-13
8万+
PHP7 引入的“??” 和“?:”的区别
实践出真知~
测试代码
输入测试:
1 &amp;amp;amp;lt;?php
2 $array = [
3 'a' =&amp;amp;amp;gt; 1,
4 'b' =&amp;amp;amp;gt; 2,
5 'c' =&amp;amp;amp;gt; [],
4 条评论
您还未登录,请先
登录
后发表或查看评论
php代码中 ?>的问题
最新发布
m0_52051132的博客
02-23
96
通常PHP文件,都是以
php7中 ?? 和三元运算符 ? : 的区别
sinat_37212928的博客
09-10
8893
php7新增一个运算符??,不知道大家平时是在什么时候用它,但是我一直用它代替以前的三元运算符? :,今天偶然发现,它和三元运算符是不一样的
$a = 0;
$b = $a &gt; 0 ? $a : 1;
$c = $a ? $a : 2;
$d = $a ?: 3;
$f = $a ?? 3;
var_dump($b); // i...
PHP7新特性之三元运算符 ?? 和 ?: 的区别以及使用场景
元曦的博客
05-14
1194
1、 (expr1) ?? (expr2) 是 PHP7才有的功能,等同于:
isset(expr1) ? expr1 : expr2 ; //?? 省去了判断是否存在这一步,但是如果要判断是否为空 则不能用这个
2、(expr1) ?: (expr2) 是PHP5.3才有的功能,等同于以前写法:
expr1 ? expr1 : expr2; // 但是,?: 这个写法的前提是 expr1 要已经定义的, 不然就会报undefine错误!!
综上, 只判断expr1是否定义用 ??...
PHP中"?:"和"??"的去区别
飞越蓝天的专栏
08-13
1617
"?:"是三目运算符,语法格式为:$result = $test ? $test:'';意思就是当$test存在时(即empty($test)为false),则返回它本身,否则返回空(当然也可以返回其他,这里的空只是举个例子)
"??"是php7新引入的语法,它相当于是isset($result['key']) ? $result['key']:'';意思是若这个key设置,则获取设置的值,否则返...
PHP中?:与??的区别
bai_xiaobai的博客
07-10
8175
本文中,我们将比较和分析PHP中的两个速记条件运算符,简写三元运算符,即evlis运算符(?:)和空合并运算符(??)。
从PHP 5.3+开始,我们可以使用较短的三元运算符语法,省略三元运算符的中间部分从而实现简写。
$a ? : $b;
以上简写语法被成为evlis运算符,下面用evlis运算符,三元运算符以及常用的if else进行对比,结果相同。
//使用elvis运算符
$a...
php7中使用“??”运算符
qq_36611673的博客
08-10
293
php7中??运算符的使用
PHP “??” 和“?:”的区别
ssk0411的博客
05-28
467
$a ?? 0 等同于 isset($a) ? $a : 0
$a ?: 0 等同于 $a ? $a : 0
php 7.2 双问号,PHP7的双问号“??”语法以及和“?:”的区别
weixin_36016360的博客
03-18
2171
PHP7中增加了双问号“??”的语法,我们来讨论一下这个新语法怎么使用,先看下面这个简单的语句:echo $a ?? -1;这行语句是一个判断语句,判断变量$a是否存在,存在的话输出变量$a,否则输出-1。很显然由于变量$a没有被定义,所以输出的结果是“-1”。我们再来看下面这行简单的语句:echo $a ? 1 : -1;上面这行代码是判断变量$a是否为空,如果为空的话输出“-1”,否则输出“1...
一篇写给准备升级PHP7的小伙伴的文章
咖啡色的羊驼
06-16
2万+
前言本文是一篇讲座听后+后续研究的总结。
话说当年追时髦,php7一出就给电脑立马装上了,php5和php7共存,也是立马写了个超级耗时间的循环脚本测了一番,确实php7给力很多,然后也是注意了一些新增的特性与一些丢弃掉的用法。
由于php升级乃头等大事,公司近期才打算升级,所以之前一直只能私下欣赏php7带来的快感,负责升级的小伙伴搞了个分享,还挺全的,此处mark一下,当作笔记。主要研究问题
徐汉彬:PHP7和HHVM的性能之争
03-03
近日,PHP7和HHVM的性能之争成为了一个讨论热点,但毫无疑问,它们都在提升PHP执行性能方面取得了突破性的进展。本期《问底》,徐汉彬将为大家科普和介绍它们的性能之争。徐汉彬曾在阿里巴巴和腾讯从事4年多的技术...
php和asp语法上的区别总结
01-20
下面给大家介绍一些php和asp语法上的区别: 1、定界符 PHP的定界符是<??>;ASP的定界符是<% %> 2、大小写区分 PHP区分大小写;ASP不区分大小写。 3、注释 PHP有两种注释:单行注释(//),多行注释(/**...
PHP语法小结之基础和变量
10-23
本系列文章,我们将简单的为大家总结一下PHP之中语法知识,第一篇,我们先来介绍基础和变量,希望大家能够喜欢。
浅析PHP7新功能及语法变化总结
10-18
主要介绍了浅析PHP7新功能及语法变化总结的相关资料,需要的朋友可以参考下
PHP7新特性之抽象语法树(AST)带来的变化详解
10-18
主要介绍了PHP7新特性之抽象语法树(AST)带来的变化,结合实例形式分析了PHP7抽象语法树的相关概念、功能、特性、使用方法及相关注意事项,需要的朋友可以参考下
PHP语法手册PHP语法手册PHP语法手册PHP语法手册
11-12
PHP语法手册PHP语法手册PHP语法手册PHP语法手册PHP语法手册PHP语法手册PHP语法手册
【PHP基础-3】PHP常用运算符
m0_64378913的博客
03-31
1839
目录1 运算符概述2 常见的运算符类型2.1 算术运算符2.2 赋值运算符2.3 比较运算符2.4 递增/递减运算符2.5 逻辑运算符2.6 字符串运算符2.7 数组运算符2.8 其他运算符3 运算符的优先级4 归纳参考文章
1 运算符概述
(1)作用:运算符是可以通过给出的一或多个值来产生另一个值的东西。
(2)运算符可按照其能接受几个值来分组:
一元运算符只能接受一个值,例如 !(逻辑取反运算符)或 ++(递增运算符)。
二元运算符可接受两个值,例如熟悉的算术运算符 +(加)和
php默认语法,PHP基本语法总结
weixin_29577845的博客
03-09
79
一、PHP能做什么?PHP能做什么?我觉得它很强大,只要我能想到的,它都能做,只是我技术能力还不行╮(╯﹏╰)╭。好吧,一张图,基本了解一下吧(ps:PHP的功能不局限于此( ^_^ ))图像有点模糊,凑合一下,(≧▽≦)/二、PHP语言标记1、结束和开始标记1.1 :属于xml风格,是PHP的标准风格,推荐使用。1.2 //code :长风格标记,不常用。若你的奇葩编辑器不支持其他php标记...
PHP转 java 和 golang 选哪个?
02-06
如果你正在考虑从PHP转到其他编程语言,那么你需要考虑自己的目标以及你希望达到的目标所使用的语言。
Java和Go都是流行的编程语言,但它们适用于不同的场景。
Java是一种面向对象的编程语言,广泛用于企业级应用开发。它在许多平台上都可以运行,并且有许多丰富的库和工具可供使用。如果你希望开发企业级应用或者对对象导向编程有所了解,那么Java可能是一个不错的选择。
Go是一种新兴的编程语言,特别适合于开发高性能、可伸缩的服务器端应用。它具有简洁的语法、快速的编译速度和内存安全的特性。如果你希望开发高性能的服务器端应用,或者对并发编程感兴趣,那么Go可能是一个不错的选择。
总的来说,你应该根据自己的目标和兴趣来决定使用哪种语言。这意味着你应该了解这两种语言的特点,并考虑哪种语言更适合你的目标。
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
彭世瑜
CSDN认证博客专家
CSDN认证企业博客
码龄6年
暂无认证
3032
原创
4772
周排名
60
总排名
726万+
访问
等级
7万+
积分
7047
粉丝
2120
获赞
994
评论
7874
收藏
私信
关注
热门文章
mac启动terminal终端快捷键
92108
echarts折线图的每个折点都显示数值
77052
Mac OS删除文件和文件夹的命令
71016
mysql:insert ignore、insert和replace区别
63630
Linux:设置文件和文件夹的读写权限
59634
分类专栏
Java学习路线
71篇
SpringBoot学习笔记
22篇
阿里云体验实验室
6篇
sublime
3篇
Python
560篇
Django
27篇
C#
4篇
windows
3篇
Visual Basic(简称VB)
131篇
sql
22篇
html
8篇
css
15篇
else
20篇
JavaScript/Node.js
106篇
scrapy
35篇
mac
14篇
java
76篇
error
18篇
git
12篇
机器学习
21篇
echarts
2篇
mysql
30篇
go
30篇
nginx
14篇
shell
6篇
PHP
57篇
react
2篇
redis
1篇
linux
39篇
docker
1篇
splash
1篇
chrome
3篇
selenium
2篇
C语言
1篇
hadoop
5篇
HBase
2篇
elasticsearch
11篇
neo4j
2篇
tensorflow
4篇
mongo
8篇
zookeeper
2篇
kafka
1篇
Vue
49篇
最新评论
Vue.js实现文字超出指定高度后展开收起功能
今天学习了莫:
这个和网站效果还是不一样的
微信分享和微信H5跳转到APP开放标签wx-open-launch-app使用及样式设置
彭世瑜:
要确保weixin标签在最顶层
微信分享和微信H5跳转到APP开放标签wx-open-launch-app使用及样式设置
m0_61611461:
样式撑开了,但是点击没反应呀,能帮我看看吗?大佬
Vue3.js中使用svg:vite-plugin-svg-icons
肖理坚:
fast-glob的作用在哪里,请教一下
Vue2.js:xlsx实现Excel文件的导入导出
  沉梦昂志:
大佬 那个如果数据是数字的话 导出会变成科学技术 怎么解决了 我看文档说要加一个dom节点 但是不知道加载哪里
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
Java:MybatisPlus方法getOne报错
java:文件写入BufferedOutputStream写入字节和PrintWriter写入字符
Java:文件io流继承体系文件读取文件写入
2023
04月
22篇
03月
35篇
02月
46篇
01月
17篇
2022年430篇
2021年297篇
2020年441篇
2019年461篇
2018年499篇
2017年626篇
2016年90篇
2015年2篇
2014年44篇
2013年18篇
2012年4篇
目录
目录
分类专栏
Java学习路线
71篇
SpringBoot学习笔记
22篇
阿里云体验实验室
6篇
sublime
3篇
Python
560篇
Django
27篇
C#
4篇
windows
3篇
Visual Basic(简称VB)
131篇
sql
22篇
html
8篇
css
15篇
else
20篇
JavaScript/Node.js
106篇
scrapy
35篇
mac
14篇
java
76篇
error
18篇
git
12篇
机器学习
21篇
echarts
2篇
mysql
30篇
go
30篇
nginx
14篇
shell
6篇
PHP
57篇
react
2篇
redis
1篇
linux
39篇
docker
1篇
splash
1篇
chrome
3篇
selenium
2篇
C语言
1篇
hadoop
5篇
HBase
2篇
elasticsearch
11篇
neo4j
2篇
tensorflow
4篇
mongo
8篇
zookeeper
2篇
kafka
1篇
Vue
49篇
目录
评论 4
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
红包个数最小为10个
红包总金额
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
打赏作者
彭世瑜
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值