資源描述:
《php遞增遞減(++--)的直白深刻理解》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、PHP{遞增遞減}(++/--)的直白深刻理解$a++/$a--++$a/--$a到底什么時(shí)候用這個(gè),在很多關(guān)于php書籍上,有很多在講到這里的時(shí)候會(huì)有這樣的例子(*)例子一1、(*)例子一2、對(duì)于這些個(gè)結(jié)果你理解了幾個(gè)??一個(gè)?兩個(gè)?三個(gè)?還是都理解了?都理解的可以不用再往下面看下了。。。。。。。。。。。、首先,我們先看看php幫助手冊(cè)上是
2、怎么定義這個(gè)的關(guān)于【++、--】遞增/遞減運(yùn)算符PHP支持C風(fēng)格的前/后遞增與遞減運(yùn)算符。Note:遞增/遞減運(yùn)算符不影響布爾值。遞減NULL值也沒有效果,但是遞增NULL的結(jié)果是1。/*這里是重點(diǎn)*//**遞增/遞減運(yùn)算符例子名稱效果*++$a前加$a的值加一,然后返回$a。*$a++后加返回$a,然后將$a的值加一。*--$a前減$a的值減一,然后返回$a。*$a--后減返回$a,然后將$a的值減一。**/一個(gè)簡單的示例腳本:/*這里一定要仔細(xì)看,*/Postincrement";$a=5;echo"
3、$a結(jié)果為5:".$a++."
";echo"$a結(jié)果為6:".$a."
";echo"
Preincrement
";$a=5;echo"$a結(jié)果為6:".++$a."
";echo"$a結(jié)果為6:".$a."
";echo"
Postdecrement
";$a=5;echo"$a結(jié)果為5:".$a--."
";echo"$a結(jié)果為4:".$a."
";echo"
Predecrement
";$a=5;echo"$a結(jié)果為4
4、:".--$a."
";echo"$a結(jié)果為4:".$a."
";?>在處理字符變量的算數(shù)運(yùn)算時(shí),PHP沿襲了Perl的習(xí)慣,而非C的。例如,.在Perl中'Z'+1將得到'AA',而在C中,'Z'+1將得到'['(ord('Z')==90,ord('[')==91)。注意字符變量只能遞增,不能遞減,并且只支持純字母(a-z和A-Z)??赐暌陨系睦碚撝R(shí)以后,你有什么感覺??咱們回頭再來看看咱們文章開始的兩個(gè)例子:(*)例子一1、
5、/結(jié)果22?>(*)例子一2、現(xiàn)在你又理解了幾個(gè)??一個(gè)?兩個(gè)?三個(gè)?還是都理解了?時(shí)間寶貴,都理解的可以不用再往下面看下了。。。。。。。。。。。如果看完之后還沒有領(lǐng)悟,沒關(guān)系咱們接著來看這個(gè)兩個(gè)例子首先解釋第一個(gè)
6、方向是符合數(shù)學(xué)邏輯的由左到右$a+++++$a;左邊---->右邊其次、進(jìn)入正題($a++)+(++$a)這個(gè)式子可以這么看,要理解這個(gè)式子就要先明確前后兩個(gè)$a的值初始$a是10,但是$a++是先返回值在計(jì)算,所以10+(++$a)這里的a是10,然后這個(gè)$a++計(jì)算括號(hào)內(nèi)的結(jié)果是11,此時(shí)$a已經(jīng)是11然后還要用到改變之后的$a進(jìn)行自加運(yùn)算。10+(++$a)
7、
8、V10+(++($a++))第二$a的值就很容易理解了,是11,如果還是不理解你可以這么看第二個(gè)$a是經(jīng)過兩次自加預(yù)算的*/echo$a;//結(jié)果12echo$b;//結(jié)果22?
9、>接下來再看看第二個(gè)、
10、
11、V10-(--9)
12、
13、V10-8echo$a;//結(jié)果8echo$b;//結(jié)果2?>