<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      php 閉包案例解析

      [摘要]匿名函數(Anonymous functions),也叫閉包函數(closures),允許 臨時創建一個沒有指定名稱的函數。最經常用作回調函數(callback)參數的值。當然,也有其它應用的情況。...
      匿名函數(Anonymous functions),也叫閉包函數(closures),允許 臨時創建一個沒有指定名稱的函數。最經常用作回調函數(callback)參數的值。當然,也有其它應用的情況。

      匿名函數目前是通過 Closure 類來實現的。

      閉包函數也可以作為變量的值來使用。PHP 會自動把此種表達式轉換成內置類 Closure 的對象實例。把一個 closure 對象賦值給一個變量的方式與普通變量賦值的語法是一樣的,最后也要加上分號:

      閉包可以從父作用域中繼承變量。 任何此類變量都應該用 use 語言結構傳遞進去。 PHP 7.1 起,不能傳入此類變量: superglobals、 $this 或者和參數重名。

      具體形式如下:

      $a = function($arg1, $arg2) use ($variable) { 
      // 聲明函數閉包到變量$a, 參數為$arg1, $arg2 ,該閉包需使用$variable變量
      }

      具體用法實例如下:

      <?php
      $result = 0;
       
      $one = function()
      { var_dump($result); };
       
      $two = function() use ($result)
      { var_dump($result); }; // 可以認為 $two這個變量 本身記錄了該函數的聲明以及use使用的變量的值
       
      $three = function() use (&$result)
      { var_dump($result); };
       
      $result++;
       
      $one();  // outputs NULL: $result is not in scope
      $two();  // outputs int(0): $result was copied
      $three();  // outputs int(1)
      ?>

      以上就是php 閉包實例解析的詳細內容,更多請關注php中文網其它相關文章!


      學習教程快速掌握從入門到精通的SQL知識。




      日韩精品一区二区三区高清