浅析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 内存缓存加速功能memcached安装与用法
Sep 03 PHP
通俗易懂的php防注入代码
Apr 07 PHP
PHP 开发环境配置(Zend Server安装)
Apr 28 PHP
PHP写杨辉三角实例代码
Jul 17 PHP
PHP __autoload()方法真的影响性能吗?
Mar 30 PHP
PHP中使用cURL实现Get和Post请求的方法
Mar 13 PHP
php通过递归方式复制目录和子目录的方法
Mar 13 PHP
JavaScript与HTML结合的基本使用方法整理
Oct 12 PHP
Symfony学习十分钟入门经典教程
Feb 03 PHP
利用laravel+ajax实现文件上传功能方法示例
Aug 13 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
PHP的mysqli_sqlstate()函数讲解
Jan 23 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
第1次亲密接触PHP5(2)
2006/10/09 PHP
PHP4中session登录页面的应用
2008/07/25 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
2014/08/14 PHP
又十个超级有用的PHP代码片段
2015/09/24 PHP
ThinkPHP发送邮件示例代码
2016/10/08 PHP
jQuery的deferred对象详解
2014/11/12 Javascript
Jquery动态添加输入框的方法
2015/05/29 Javascript
基于jquery实现ajax无刷新评论
2020/08/19 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
2016/08/24 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
BootStrap 标题设置跨行无效的解决方法
2017/10/25 Javascript
vue2.0 子组件改变props值,并向父组件传值的方法
2018/03/01 Javascript
angularjs实现的购物金额计算工具示例
2018/05/08 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
react的滑动图片验证码组件的示例代码
2019/02/27 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
原生JS实现留言板功能
2020/02/08 Javascript
浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑
2020/09/12 Javascript
Vue2.x-使用防抖以及节流的示例
2021/03/02 Vue.js
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
python 文件操作api(文件操作函数)
2016/08/28 Python
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
Html5 FileReader实现即时上传图片功能实例代码
2014/09/01 HTML / CSS
香港优质食材和美酒专门店:FoodWise
2017/09/01 全球购物
请问如下代码执行后a和b的值分别是什么
2016/05/05 面试题
4s店销售经理岗位职责
2014/07/19 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
2014年房产销售工作总结
2014/12/08 职场文书
PYTHON InceptionV3模型的复现详解
2022/05/06 Python