PHP自增自減

來源:互聯網
上載者:User

寫出一下php段的輸出結果:

<?php $count=5;function get_count(){    static $count=0;    return $count++;}echo $count;++$count;echo get_count();echo get_count();?>

答案為:501

主要涉及到兩個知識點:

   1.php變數的範圍;

   2.自增/自減變數;

 

面試人對 “php變數的範圍” 理解挺到位,但在 “自增/自減變數” 上有些把握不準。現複習如下,以供參考:

自增/減分為前置和後置,這涉及到一個先後順序:

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php   $a = 3;   echo ++$a; //前置型,先自增再輸出,結果為4,此時$a為4   $b = 3;   echo $b++; //後置型,先輸出3,再自增為4,此時$b為4 ?>

 

 問題:若$i=2,求運算式($i++)*($i++)*($i++)的值,並求$i的值

 答案:($i++)*($i++)*($i++)結果為24,$i為5

 

 分析:先看計算順序,發現有括弧則先算括弧裡面的,先取$i的值2為($i++)的值,然後$i自加為3;  [此時($i++)左=2,$i=3]

            再算括弧中,先取此時的$i的值3為($i++)的值,然後$i再自加為4;[此時($i++)中=3,$i=4]

            後算括弧右,先取此時的$i的值4作為($i++)的值,然後$i再自加為5

            最後做乘法運算,即2*3*4=24          $i=5

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.