PHP自訂函數名稱前加&有什麼作用?詳細點,寫個小demo

來源:互聯網
上載者:User
PHP函數名稱前加&有什麼作用?詳細點,寫個小demo

回複內容:

PHP函數名稱前加&有什麼作用?詳細點,寫個小demo

這是函數的引用返回,demo如下:

function &foo(){    static $`請輸入代碼`var = 0;    return ++ $var;}    $result1 = foo();$result2 = & foo();foo();echo $result1;//output is 1echo $result2;//output is 3

此時result2是對函數內var變數的引用,所以foo執行三次後,var值為3,result2也為3,但是result1隻是獲得函數執行第一次的傳回值,所以為1。
如果你使用了&符號,但是在使用時不加&,這個函數的效果就跟未使用該符號是一樣的。

function foo1(){    static $var = 0;    return ++ $var;}    $result1 = foo1();foo1(); echo $result1;//output is 1

此時foo1()和foo()在達到的效果上是沒有區別的,但是如果你未加&符號,又想使用引用返回,那麼就會報錯。

function foo2(){    static $var = 0;    return ++ $var;}    $result2 = & foo2();//error herefoo2(); echo $result2;
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.