先看看基本区别:

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中的 i详解,浅析PHP中的i++与++i的区别及效率相关推荐

  1. python中new方法详解及_Python中new方法的详解

    new_ 方法是什么? __new__方法其实就是创建对象的方法 new()方法是在类准备将自身实例化时调用. 一个类可以有多个位置参数和多个命名参数,而在实例化开始之后,在调用 init()方法之前 ...

  2. 【Android游戏开发之八】游戏中添加音频-详解MediaPlayer与SoundPoo!并讲解两者的区别和游戏中的用途!...

    为什么80%的码农都做不了架构师?>>>     李华明Himi 原创,转载务必在明显处注明: 转载自 [黑米GameDev街区] 原文链接:  http://www.himigam ...

  3. Java中throw re_详解Java编程中throw和throws子句的使用方法

    java throw:异常的抛出程序可以用throw语句抛出明确的异常.throw语句的通常形式如下: throw throwableinstance; 这里,throwableinstance一定是 ...

  4. java中的controller_详解Spring Boot中Controller用法

    Controller Controller是SpringBoot里最基本的组件,他的作用是把用户提交来的请求通过对URL的匹配,分配个不同的接收器,再进行处理,然后向用户返回结果.他的重点就在于如何从 ...

  5. linux中dir命令,详解Linux系统中ls和dir命令的组合使用

    ls或dir命令:列出当前目录的内容 ls(list的缩写)命令可以列出当前目录的内容.dir命令是ls命令的一个别名,也是directory的缩写.通常列出的文件会以不同的颜色进行显示,不同的颜色代 ...

  6. 在linux中hdparm作用,详解Linux系统中hdparm硬盘检测工具的使用

    在linux下可以使用hdparm工具查看硬盘的相关信息或对硬盘进行测速.优化.修改硬盘相关参数设定.我主要常用这个工具来测试硬盘速度. hdparm(hard disk parameters) 功能 ...

  7. js路由在php上面使用,React中路由使用详解

    这次给大家带来React中路由使用详解,React中路由使用的注意事项有哪些,下面就是实战案例,一起来看一下. 路由 通过 URL 映射到对应的功能实现,React 的路由使用要先引入 react-r ...

  8. Java 初始化 代码块_Java中初始化块详解及实例代码

    Java中初始化块详解 在Java中,有两种初始化块:静态初始化块和非静态初始化块. 静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想初始化变量,那仅能初始化类变量, ...

  9. vue中mint-ui使用详解

    这次给大家带来vue中mint-ui使用详解,vue中mint-ui使用的注意事项有哪些,下面就是实战案例,一起来看一下. mint-ui在vue中的使用,供大家参考,具体内容如下 首先放上mint- ...

最新文章

  1. GMQ稳定币可降低交易成本,构建智能化支付生态体系
  2. matlab的fft函数写法,matlab的fft函数的使用例子
  3. 字符流复制Java文件
  4. 在Ubuntu上创建并测试GRE tunnel
  5. Android Weekly Notes Issue #218
  6. 优化SQL的执行速度
  7. JavaScript 开发进阶:理解 JavaScript 作用域和作用域链
  8. python如何识别文件中的空行?
  9. 天然气故障代码大全_美的、格力中央空调常见故障代码大全
  10. C语言学习 7-9 统计素数并求和
  11. 学计算机如何护眼,长期看电脑如何保护眼睛 吃这些有效保护视力
  12. golang 环境搭建-windows
  13. 移动硬盘中安装ubuntu系统——Vmware Workstation安装
  14. 学习笔记 time模块练习 纪念日计算
  15. arduino nano 蓝牙_ESP32模拟无线蓝牙鼠标自制翻页笔神器
  16. ETC“大跃进”乱象背后:超级工程引发新的AI盛宴
  17. Ubuntu中Kdevelop的安装和使用
  18. 如何使用 Javascript 截断/切片/修剪字符串中的最后一个字符?
  19. springboot整合 neo4j (OGM+JPA方式操作图数据库)
  20. 欸,自娱自乐的学习必然是缓慢的

热门文章

  1. java异常体系_Java异常体系(Throwable、Error、Exception)
  2. 构建指定仓库_使用Travis CI自动构建和部署你的GitBook
  3. unity 获取预制体_Unity打包插件AssetsBundleBrowser的使用
  4. Git分支简介与使用——Git的学习与使用(五)
  5. 用GVIM/VIM写Verilog——VIM配置分享
  6. ulimit命令学习
  7. Linux下的基础命令介绍(二)
  8. mysql存储过程判断多个条件语句_存储过程里多条件判断(SQL组合查询)
  9. [linux]centos6.3安装flash插件rpm方式
  10. TableCache设置过小造成MyISAM频繁损坏