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

 更新时间:2016年06月15日 11:37:09   作者:木有Some  
这篇文章主要介绍了浅析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多线程模拟实现秒杀抢单

    PHP多线程模拟实现秒杀抢单

    这篇文章主要为大家详细介绍了PHP多线程模拟实现秒杀抢单功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • PHP 接入微信扫码支付总结(总结篇)

    PHP 接入微信扫码支付总结(总结篇)

    微信扫码支付分为两种模式,本文以模式二给大家详细介绍PHP 微信扫码支付接入总结,感兴趣的朋友一起看看吧
    2016-11-11
  • 19个Android常用工具类汇总

    19个Android常用工具类汇总

    这篇文章主要介绍了19个Android常用工具类汇总,需要的朋友可以参考下
    2014-12-12
  • PHP 的Opcache加速的使用方法

    PHP 的Opcache加速的使用方法

    本篇文章主要介绍了PHP 的Opcache加速的使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Laravel 自定命令以及生成文件的例子

    Laravel 自定命令以及生成文件的例子

    今天小编就为大家分享一篇Laravel 自定命令以及生成文件的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 微信推送功能实现方式图文详解

    微信推送功能实现方式图文详解

    这篇文章主要介绍了微信推送功能实现方式,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解

    Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解

    这篇文章主要介绍了Zend Framework教程之分发器Zend_Controller_Dispatcher用法,结合实例形式详细分析了分发器Zend_Controller_Dispatcher的结构,功能,使用技巧与相关注意事项,需要的朋友可以参考下
    2016-03-03
  • PHP中递归的实现实例详解

    PHP中递归的实现实例详解

    递归(http:/en.wikipedia.org/wiki/Recursive)是一种函数调用自身(直接或间接)的一种机制,这种强大的思想可以把某些复杂的概念变得极为简单。这篇文章主要介绍了PHP中递归的实现实例详解,需要的朋友可以参考下
    2017-11-11
  • Yii使用CLinkPager分页实例详解

    Yii使用CLinkPager分页实例详解

    这篇文章主要介绍了Yii使用CLinkPager分页的方法,需要的朋友可以参考下
    2014-07-07
  • ThinkPHP5实现JWT Token认证的过程(亲测可用)

    ThinkPHP5实现JWT Token认证的过程(亲测可用)

    这篇文章主要介绍了ThinkPHP5实现JWT Token认证,首先composer先挂载阿里云镜像,安装JWT扩展,本文给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10

最新评论