<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] # 閉包函數 ****** 閉包就是能夠讀取其他函數內部變量的函數。例如在 JavaScript 中,只有函數內部的子函數才能讀取局部變量,所以閉包可以理解成“定義在一個函數內部的函數”。在本質上,閉包是將函數內部和函數外部連接起來的橋梁。在 php 中,閉包函數一般就是匿名函數。舉例,有一個定時任務,每一秒執行一次,現在我們要開啟一個服務,然后準備在30秒的時候關閉這個服務。 ```php <?php function tick($callback) { while (1) { // 簡單實現的定時器,每秒都去執行一次回調。 call_user_func($callback); sleep(1); } } class Server { // 模擬退出一個服務 public function exitServer() { return true; } } $server = new Server(); $time = time(); tick(function () use ($server) { $server->exitServer(); }); ``` 在這里面,使用匿名函數,use 了函數外部的 $server 變量,才使得定時器能回調調用 $server->exitServer(); <br /> # 匿名函數 匿名函數,通俗來講,就是沒有名字的函數,例如上面寫的 function(){},它通常作為閉包函數使用,使用方法如下: ```php <?php $fun = function($name) { printf("Hello %s\r\n", $name); }; echo $fun('huanghui'); function a($callback) { return $callback(); } a(function () { echo "EasySwoole\n"; return 1; }); ``` 結果: ```php Hello huanghui EasySwoole ``` <br /> ## use PHP 在默認情況下,匿名函數不能直接調用所在代碼塊的上下文變量,而需要通過使用 use 關鍵字。 ```php <?php function a($callback) { return $callback(); } $str1 = "hello,"; $str2 = "huanghui,"; a(function () use ($str1, $str2) { echo $str1, $str2, "EasySwoole\n"; return 1; }); ``` 結果: ```php hello,huanghui,EasySwoole ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看