淺析PHP中的i++與++i的區(qū)別及效率
先看看基本區(qū)別:
i++ :先在i所在的表達式中使用i的當(dāng)前值,后讓i加1
++i :讓i先加1,然后在i所在的表達式中使用i的新值
看一些視頻教程里面寫for循環(huán)的時候都是寫 ++i 而不是 i++,上網(wǎng)搜索了一下,原來有效率問題
++i相當(dāng)于下列代碼
i += 1; return i;
i++相當(dāng)于下列代碼
j = i; i += 1; return j;
當(dāng)然如果編譯器會將這些差別都優(yōu)化掉,那么效率就都差不多了。
再給大家詳細(xì)說下++i 與 i++ 的區(qū)別
1、++i 的用法(以 a=++i ,i=2 為例)
先將 i 值加 1 (也就是 i=i+1 ),然后賦給變量 a (也就是 a=i ),
則最終 a 值等于 3 , i 值等于 3 。
所以 a=++i 相當(dāng)于 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++ 相當(dāng)于 a=i , i=i+1
3、++i 與 i++
a=++i 相當(dāng)于 i++ , a=i
a=i++ 相當(dāng)于 a=i , i++
4、++i 與 i++ 單獨使用時,相當(dāng)于 i=i+1
如果賦給一個新變量,則 ++i 先將 i 值加 1 ,而 i++ 先將 i 賦給新變量。
以上所述是小編給大家介紹的PHP中的i++與++i的區(qū)別及效率的全部敘述,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
destoon實現(xiàn)調(diào)用熱門關(guān)鍵字的方法
這篇文章主要介紹了destoon實現(xiàn)調(diào)用熱門關(guān)鍵字的方法,對于進行模板開發(fā)來說非常有用,需要的朋友可以參考下2014-07-07從零開始學(xué)YII2框架(三)擴展插件yii2-gird
yii2-gird 插件是Yii2.0的一個擴展。它在官方的girdview基礎(chǔ)上擴展了一些實用的功能。非常好用,推薦使用哦。2014-08-08ThinkPHP 連接Oracle數(shù)據(jù)庫的詳細(xì)教程[全]
最近收集了一些關(guān)于THinkPHP連接Oracle數(shù)據(jù)庫的問題,有很多朋友按照連接mysql的方法來操作,導(dǎo)致有一些方法在Oreale中無法正常使用2012-07-07thinkphp 抓取網(wǎng)站的內(nèi)容并且保存到本地的實例詳解
這篇文章主要介紹了thinkphp 抓取網(wǎng)站的內(nèi)容并且保存到本地的實例詳解的相關(guān)資料,需要的朋友可以參考下2017-08-08利用中國天氣預(yù)報接口實現(xiàn)簡單天氣預(yù)報
這篇文章主要介紹了利用中國天氣預(yù)報接口實現(xiàn)簡單天氣預(yù)報的示例,大家參考使用吧2014-01-01WordPress中用于更新偽靜態(tài)規(guī)則的PHP代碼實例講解
這篇文章主要介紹了WordPress中用于更新偽靜態(tài)規(guī)則的PHP代碼實例講解,圍繞flush_rewrite_rules()函數(shù)的使用展開來講,需要的朋友可以參考下2015-12-12