浅析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循环结构实例讲解
Feb 10 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
Apr 01 PHP
php通过数组实现多条件查询实现方法(字符串分割)
May 06 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
Jun 21 PHP
ThinkPHP基本的增删查改操作实例教程
Aug 22 PHP
php实现源代码加密的方法
Jul 11 PHP
PHP Web木马扫描器代码分享
Sep 06 PHP
PHP 常用时间函数资料整理
Oct 22 PHP
php获取ip及网址的简单方法(必看)
Apr 01 PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 PHP
PHP写API输出的时用echo的原因详解
Apr 28 PHP
PHP7原生MySQL数据库操作实现代码
Jul 03 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
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
thinkphp分页实现效果
2016/10/13 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
node.js操作mongoDB数据库示例分享
2014/11/26 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
浅谈js 闭包引起的内存泄露问题
2015/06/22 Javascript
jQuery实现响应鼠标背景变化的动态菜单效果代码
2015/08/27 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
2017/03/15 Javascript
js实现鼠标拖动功能
2017/03/20 Javascript
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
layui结合form,table的全选、反选v1.0示例讲解
2018/08/15 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
Node.js 在本地生成日志文件的方法
2020/02/07 Javascript
javascript History对象原理解析
2020/02/17 Javascript
JS代码简洁方式之函数方法详解
2020/07/28 Javascript
npm全局环境变量配置详解
2020/12/15 Javascript
[02:04]2020年夜魇暗潮预告片
2020/10/30 DOTA
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
python友情链接检查方法
2015/07/08 Python
python的turtle库使用详解
2019/05/10 Python
一篇文章带你学习CSS3图片边框
2020/11/04 HTML / CSS
利用html5 canvas动态画饼状图的示例代码
2018/04/02 HTML / CSS
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
计算机专业学生的自我评价
2013/12/15 职场文书
中层干部岗位职责
2013/12/18 职场文书
工商管理专业职业生涯规划
2014/01/01 职场文书
咖啡店自主创业商业计划书
2014/01/22 职场文书
中秋节国旗下演讲稿
2014/09/05 职场文书
房产转让协议书(2014版)
2014/09/30 职场文书
高一军训口号
2015/12/25 职场文书
Html5新增了哪些功能
2021/04/16 HTML / CSS