浅析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 相关文章推荐
多重?l件?合查?(二)
Oct 09 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 PHP
PHP获取文件后缀名的三个函数
Oct 15 PHP
php中实现xml与mysql数据相互转换的方法
Dec 25 PHP
PHP SESSION的增加、删除、修改、查看操作
Mar 20 PHP
php快速查找数据库中恶意代码的方法
Apr 01 PHP
PHP查看当前变量类型的方法
Jul 31 PHP
ThinkPHP中order()使用方法详解
Apr 19 PHP
PHP htmlspecialchars_decode()函数用法讲解
Mar 01 PHP
yii2的restful api路由实例详解
May 14 PHP
laravel框架创建授权策略实例分析
Nov 22 PHP
PHP7 整型处理机制修改
Mar 09 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 求质素(素数) 的实现代码
2011/04/12 PHP
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
详解Yii2 定制表单输入字段的标签和样式
2017/01/04 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
28个JS验证函数收集
2010/03/02 Javascript
javascript拓展DOM操作 prependChild insertAfert
2010/11/17 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
Javascript引用指针使用介绍
2012/11/07 Javascript
js判断url是否有效的两种方法
2014/03/04 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
2015/10/09 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
input框中的name和id的区别
2016/11/16 Javascript
JS仿JQuery选择器功能
2017/03/08 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
jQuery异步提交表单实例
2017/05/30 jQuery
js获取地址栏参数的两种方法
2017/06/27 Javascript
php中and 和 &&出坑指南
2018/07/13 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
Python实现对PPT文件进行截图操作的方法
2015/04/28 Python
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
python循环输出三角形图案的例子
2019/11/22 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
缅甸网上购物:Shop.com.mm
2017/12/05 全球购物
Collection和Collections的区别
2016/05/02 面试题
高二地理教学反思
2014/01/24 职场文书
远程培训的心得体会
2014/09/01 职场文书
2015年教研组工作总结
2015/05/04 职场文书
工程款申请报告
2015/05/15 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
高中物理教学反思
2016/02/19 职场文书
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL