首頁  >  文章  >  後端開發  >  php為什麼需要匿名函數

php為什麼需要匿名函數

(*-*)浩
(*-*)浩原創
2019-09-12 13:31:463128瀏覽

匿名函數(Anonymous functions),也叫閉包函數(closures),允許暫時建立一個沒有指定名稱的函數。最常用作回呼函數(callback)參數的值。當然,也有其它所應用的情況。

php為什麼需要匿名函數

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

匿名函數範例(推薦學習:PHP程式設計從入門到精通

<?php
echo preg_replace_callback(&#39;~-([a-z])~&#39;, function ($match) {
    return strtoupper($match[1]);
}, &#39;hello-world&#39;);
// 输出 helloWorld
?>

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

匿名函數變數賦值範例

<?php
$greet = function($name)
{
    printf("Hello %s\r\n", $name);
};

$greet(&#39;World&#39;);
$greet(&#39;PHP&#39;);
?>

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

以上是php為什麼需要匿名函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn