浅析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 获取远程文件内容的函数代码
Mar 24 PHP
PHP5中虚函数的实现方法分享
Apr 20 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
Jul 28 PHP
php类中private属性继承问题分析
Nov 01 PHP
谈谈关于php的优点与缺点
Apr 11 PHP
PHPMailer邮件发送的实现代码
May 04 PHP
php实现监控varnish缓存服务器的状态
Dec 30 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
Mar 13 PHP
PHP中trim()函数简单使用指南
Apr 16 PHP
4种PHP异步执行的常用方式
Dec 24 PHP
详解PHP的Yii框架中的Controller控制器
Mar 29 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 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 文章中的远程图片采集到本地的代码
2009/07/30 PHP
php检查字符串中是否有外链的方法
2015/07/29 PHP
php将数组存储为文本文件方法汇总
2015/10/28 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
javascript eval函数深入认识
2009/02/21 Javascript
jquery 插件开发方法小结
2009/10/23 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
js获取图片大小的函数代码
2011/09/20 Javascript
JavaScript地图拖动功能SpryMap的简单实现
2013/07/17 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
了不起的node.js读书笔记之mongodb数据库交互
2014/12/22 Javascript
jQuery 3 中的新增功能汇总介绍
2016/06/12 Javascript
Node.js连接MongoDB数据库产生的问题
2017/02/08 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
2019/09/27 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
Python 如何提高元组的可读性
2019/08/26 Python
Python进阶之迭代器与迭代器切片教程
2020/01/29 Python
django有外键关系的两张表如何相互查找
2020/02/10 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
Lucene推荐的分页方式是什么?
2015/12/07 面试题
毕业生幼师求职自荐信
2013/10/01 职场文书
工程招投标邀请书
2014/01/30 职场文书
大学同学会活动方案
2014/08/20 职场文书
2015年妇幼保健工作总结
2015/05/19 职场文书
毕业典礼致辞
2015/07/29 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python