php三元运算符的简写
来源:互联网 发布:unity3d www上传文件 编辑:程序博客网 时间:2024/04/30 10:25
在使用三目运算符的时候,我们经常见到的是:
x ? x : y
就是if else的简写
如果x为真,就返回x,如果x为假,就返回y。这是最简单最基本的用法。
但是有时候会看到这种用法
x ?: y
?与:之间没有任何操作数,这是什么用法呢?
在通过几个实例的实验后,猜测?与:之间省略了x
也就是说x ? : y 就是 x ? x : y
这样就可以讲的通了。
那么形如 a > b ?: b 中间省略了什么呢,是a吗
验证之后发现并不是a
其实省略了 a > b
也就是说 a > b ?: b 等价于 a > b ? a > b : b
那么可以这样下结论:“?:” 中间省略的东东是与 “?”之前的数或者表达式完全一致。
值得注意的是:在某种情况下,还是会有出入的
譬如 y = ++x ? ++x : 3 与 y = ++x ?: 3
输出的y的结果是不一样的,这是为什么呢?
当x的初始值为0时,第一种写法的输出y的结果为2 ,而第二种写法的输出y的结果为1
说明第一种写法输出的是执行了两次++操作的结果,而第二种写法只执行了一次++操作
所以当有++或--运算的时候,要根据需要判断要不要省略,不能贸然省去,从而引起不必要的错误
其实这种省略方式还是挺好的,特别是代码长度比较长的时候,可以在满足要求的前提下简化代码
阅读全文
0 0
- php三元运算符?:的简写形式
- PHP三元运算符的简写形式
- php三元运算符的简写
- php中if的简写语句,更简洁的三元运算符
- PHP三元运算符的运算顺序
- PHP三元运算符
- PHP三元运算符 ?
- php三元运算符 ? :
- PHP 三元运算符
- php 三元运算符
- php三元运算符
- PHP三元运算符
- php的三元运算符嵌套
- 关于php三元运算符的问题
- PHP三元运算符?托
- PHP三元运算符?筛
- PHP三元运算符?缺
- PHP三元运算符?蒙
- node -e "require('nan')" npm
- Docker实践记录
- Jenkins构建时间Poll Scm的设置(常用设置)
- 国产品牌,中兴新支点操作系统入围2017中央软协采购
- 使input文本框不可编辑的3种方法
- php三元运算符的简写
- Golang---walk学习(一)
- Python3爬虫视频学习教程
- 码农不仅要会写代码,更要会测试代码
- D3D画线和画面的总结
- 使用vue开发输入型组件更好的一种解决方式(子组件向父组件传值,基于2.2.0)
- 解题报告 Noip2016提高组 组合数问题
- Netty 权威指南笔记(五):ByteBuf 源码解读
- 数据库操纵语言DML