PHP 布尔值的自增与自减的实现方法


Posted in PHP onMay 03, 2018

在上午和业务需求战斗结束之后,准备打开群看看各位老司机有没有看车,突然看到 @E舞九天 II 发的一些消息

PHP 布尔值的自增与自减的实现方法 

他发现,PHP 的布尔值自增,无论自增多少遍,最后输出的都是 1 

这就比较有趣了~

自增和自减,++$a 和 $a++ 的区别大家都知道

++a 表示取 a 的地址,增加内存中 a 的值,然后把值放在寄存器中
a++ 表示取 a 的地址,把 a 的值装入寄存器中,然后增加内存中 a 的值

我打开一个编辑器,去确认一下这个结果

$a = true;
var_dump(--$a);
echo PHP_EOL;
echo $a;
$b = false;
echo PHP_EOL;
var_dump(++$b);

运行最后输入结果如下

bool(true)
1
bool(false)

发现结果和之前设想的不太对,PHP 对于布尔值的自增运算没有做任何处理,而自增后为 1 是因为我们使用了 echo 去输出,导致 bool 被强转

去查询 PHP 的官方文档,没想到有一行很明显的提示

Note: 递增/递减运算符不影响布尔值。递减 NULL 值也没有效果,但是递增 NULL 的结果是 1。

PHP 布尔值的自增与自减的实现方法

总结

以上所述是小编给大家介绍的PHP 布尔值的自增与自减,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
用Php编写注册后Email激活验证的实例代码
Mar 11 PHP
php selectradio和checkbox默认选择的实现方法详解
Jun 29 PHP
CodeIgniter使用phpcms模板引擎
Nov 12 PHP
让codeigniter与swfupload整合的最佳解决方案
Jun 12 PHP
ThinkPHP多表联合查询的常用方法
Mar 24 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
Mar 06 PHP
php 实现进制相互转换
Apr 07 PHP
Yii2.0中的COOKIE和SESSION用法
Aug 12 PHP
laravel 5.4中实现无限级分类的方法示例
Jul 27 PHP
利用 fsockopen() 函数开放端口扫描器的实例
Aug 19 PHP
PHP实现数据四舍五入的方法小结【4种方法】
Mar 27 PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 PHP
PHPExcel 修改已存在Excel的方法
May 03 #PHP
PHP中PDO事务处理操作示例
May 02 #PHP
PHP简单实现解析xml为数组的方法
May 02 #PHP
PHP实现动态压缩js与css文件的方法
May 02 #PHP
Yii2框架数据验证操作实例详解
May 02 #PHP
Yii2框架类自动加载机制实例分析
May 02 #PHP
PHP通过bypass disable functions执行系统命令的方法汇总
May 02 #PHP
You might like
PHP中文件上传的一个问题
2010/09/04 PHP
php快递单号查询接口使用示例
2014/05/05 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
JS基于myFocus库实现各种功能的tab选项卡切换效果
2015/09/19 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
2015/12/03 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
还不懂递归?读完这篇文章保证你会懂
2018/07/29 Javascript
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
2019/02/18 Javascript
vue-cli 3.x配置跨域代理的实现方法
2019/04/12 Javascript
详解vue组件之间的通信
2020/08/30 Javascript
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
2018/06/14 Python
Python Flask前后端Ajax交互的方法示例
2018/07/31 Python
jupyter notebook 中输出pyecharts图实例
2020/04/23 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
django有外键关系的两张表如何相互查找
2020/02/10 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
澳大利亚相机之家:Camera House
2017/11/30 全球购物
麦德龙官方海外旗舰店:德国麦德龙超市
2017/12/23 全球购物
娱乐地球:Entertainment Earth
2020/01/08 全球购物
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
文史专业毕业生自荐信
2013/11/17 职场文书
霸王洗发水广告词
2014/03/14 职场文书
学术会议主持词
2014/03/17 职场文书
副护士长竞聘演讲稿
2014/04/30 职场文书
煤矿安全生产标语
2014/06/06 职场文书
社区助残日活动总结
2014/08/29 职场文书
学校领导班子四风对照检查材料
2014/09/27 职场文书