浅析PHP中的i++与++i的区别及效率


Posted in PHP onJune 15, 2016

先看看基本区别:

i++ :先在i所在的表达式中使用i的当前值,后让i加1

++i :让i先加1,然后在i所在的表达式中使用i的新值

看一些视频教程里面写for循环的时候都是写 ++i 而不是 i++,上网搜索了一下,原来有效率问题

++i相当于下列代码

i += 1; 
return i;

i++相当于下列代码

j = i; 
i += 1; 
return j;

当然如果编译器会将这些差别都优化掉,那么效率就都差不多了。

再给大家详细说下++i 与 i++ 的区别

1、++i 的用法(以 a=++i ,i=2 为例)

先将 i 值加 1 (也就是 i=i+1 ),然后赋给变量 a (也就是 a=i ),

则最终 a 值等于 3 , i 值等于 3 。

所以 a=++i 相当于 i=i+1 ,a=i

2、i++ 的用法(以 a=i++ ,i=2 为例)

先将 i 值赋给变量 a (也就是 a=i ),然后 i 值加 1 (也就是 i=i+1 ),

则最终 a 值等于 2 ,i 值等于 3 。

所以 a=i++ 相当于 a=i , i=i+1

3、++i 与 i++

a=++i 相当于 i++ , a=i

a=i++ 相当于 a=i , i++

4、++i 与 i++ 单独使用时,相当于 i=i+1

如果赋给一个新变量,则 ++i 先将 i 值加 1 ,而 i++ 先将 i 赋给新变量。

以上所述是小编给大家介绍的PHP中的i++与++i的区别及效率的全部叙述,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
php反弹shell实现代码
Apr 22 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
Sep 15 PHP
PHP数据类型之整数类型、浮点数的介绍
Apr 28 PHP
深入解析PHP内存管理之谁动了我的内存
Jun 20 PHP
PHP扩展模块memcached长连接使用方法分析
Dec 24 PHP
PHP速成大法
Jan 30 PHP
使用纯php代码实现页面伪静态的方法
Jul 25 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
Sep 11 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
Sep 01 PHP
PHP完全二叉树定义与实现方法示例
Oct 09 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
Jan 28 PHP
laravel-admin的多级联动方法
Sep 30 PHP
学习PHP session的传递方式
Jun 15 #PHP
php实现图片上传时添加文字和图片水印技巧
Apr 18 #PHP
PHP实现适用于文件内容操作的分页类
Jun 15 #PHP
PHP实现适用于自定义的验证码类
Jun 15 #PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
Jun 15 #PHP
使用JavaScript创建新样式表和新样式规则
Jun 14 #PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 #PHP
You might like
PHP.MVC的模板标签系统(二)
2006/09/05 PHP
PHP版本常用的排序算法汇总
2015/12/20 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
js 事件小结 表格区别
2007/08/13 Javascript
JS 进度条效果实现代码整理
2011/05/21 Javascript
JavaScript将数据转换成整数的方法
2014/01/04 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
快速获取/设置iframe内对象元素的几种js实现方法
2016/05/20 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
2016/06/12 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
vue基础之data存储数据及v-for循环用法示例
2019/03/08 Javascript
Python2和Python3中print的用法示例总结
2017/10/25 Python
python实现发送邮件功能代码
2017/12/14 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
2018/05/10 Python
flask框架实现连接sqlite3数据库的方法分析
2018/07/16 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
2019/04/26 Python
Pycharm小白级简单使用教程
2020/01/08 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
BOSE德国官网:尽探索之力,享音乐之极
2016/12/11 全球购物
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
Hotels.com泰国:酒店预订网站
2019/11/20 全球购物
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
Linux开机引导的步骤是什么
2015/10/19 面试题
硕士研究生个人求职信
2013/12/04 职场文书
中文专业学生自我评价范文
2014/02/06 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
共产党员批评与自我批评
2014/10/15 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
元宵节寄语大全
2015/02/27 职场文书
浅谈Redis在直播场景的实践方案
2021/04/27 Redis
【DOTA2】高能暴走TK秀!PSG LGD vs ASTER - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android