当前位置: 首页 > 编程笔记 >

浅析PHP中的i++与++i的区别及效率

邵弘伟
2023-03-14
本文向大家介绍浅析PHP中的i++与++i的区别及效率,包括了浅析PHP中的i++与++i的区别及效率的使用技巧和注意事项,需要的朋友参考一下

先看看基本区别:

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 和有什么不一样? 问题答案: 是先递增,后递增。 pre-increment:先增加变量,然后取消引用。 后递增:取消引用然后递增 “利用PHP允许您进行后递增($ i )和预递增( $ i)这一事实。只要您未编写类似$ j = $ i ++的内容,其含义是相同的。预增量几乎快了10%,这意味着您应该在有机会时从后增量切换到预增量,特别是在紧密循环中,尤其是如果您对微优化感到

  • 本文向大家介绍java与php的区别浅析,包括了java与php的区别浅析的使用技巧和注意事项,需要的朋友参考一下 java的简单介绍 Java是一种通用的面向对象编程语言,旨在生成可在任何地方使用相同代码的代码。这种编程语言是基于类的,面向对象的和人类可读的。它支持服务器端和客户端。 Java既可以编译也可以解释。Java编译器将源代码转换为字节码,然后java解释器生成机器代码,该机器代码由运

  • 本文向大家介绍浅析PHP中json_encode与json_decode的区别,包括了浅析PHP中json_encode与json_decode的区别的使用技巧和注意事项,需要的朋友参考一下 一、json_encode() 对变量进行JSON编码 语法:json_encode($value[,$options=0]) 注意:  1、$value为要编码的值,且该函数只对UTF8编码的数据有效;  

  • 本文向大家介绍title与h1的区别、b与strong的区别、i与em的区别?相关面试题,主要包含被问及title与h1的区别、b与strong的区别、i与em的区别?时的应答技巧和注意事项,需要的朋友参考一下 title 是 网页标题标签 h1 是文本标签 默认与word的h1相似为最大的标题显示 b 为文本加粗标签 与word的加粗功能相似 strong 为强调语气, 也是为文本加粗 与b标签

  • 本文向大家介绍深入理解java中i++和++i的区别,包括了深入理解java中i++和++i的区别的使用技巧和注意事项,需要的朋友参考一下 今天简单谈谈关于java的一个误区,相信很多刚开始学习java的朋友都会遇到这个问题,虽然问题很简单,但是经常容易搞混,说说java的i++和++i的区别。 先看一下代码: 大家可以一眼看出结果,结果是多少?是10吗? 相信还是有不少朋友第一眼看去,觉得答案是

  • 本文向大家介绍浅析Javascript中“==”与“===”的区别,包括了浅析Javascript中“==”与“===”的区别的使用技巧和注意事项,需要的朋友参考一下 之前使用JavaScript的时候,时不时的会遇到使用 == 和 === 这两个符号来判断两个变量是否相等。但是对于这两个符号的差别一直没有去调查。今天又遇到了 === 这个符号,所以决定去查一下,究竟这两者有什么区别。 在Java