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