本文目錄一覽:
PHP中的閉包有什麼用處
閉包其實就是外部函數定義的內部函數。
閉包的作用及好處:閉包給訪問外部函數定義的內部變量創造了條件。也將關於函數的一切封閉到了函數內部,減少了全局變量,這也是閉包的真實含義。
PHP的幾種函數參數類型及一些特殊函數
給你整理如下:
默認參數:在函數聲明時給參數賦值,而且此默認參數只能在最後,調用時可不傳遞任何參數(若只有默認參數的情況下)
可變參數:一個函數可能需要可個可變數目的參數。在php中,提供了三個函數用於檢索函數中所傳遞的參數。func_get_args()返回一個提供提供給函數的所有參數的數組;func_num_args()返回提供給函數的參數數目;func_get_arg()返回一個來自參數的特定參數。具體如下:
$array = func_get_args();
$count = func_num_args();
$value = func_get_arg();
遺漏參數:當調用函數時,可以傳遞任意個參數給函數。當函數必要的參數沒有i被傳遞時,此參數值是空,並且PHP會為每個遺漏的參數發出警告
可變函數:使用可變變量,可以基於變量的值調用函數
匿名函數:又叫閉包函數,允許臨時建立一個沒有指定名稱的函數,最經常用作回調函數參數的值。需要注意的是,在匿名函數內的變量的用法不同於全局變量,在匿名函數內的變量是一個閉包變量,另外,被調用閉包的作用域不必是相同的。
如何實際使用PHP5.3閉包語法特性
PHP 5.3閉包語法就是一個匿名函數,可以為開發者帶來很多不同的體驗。與JavaScript的閉包相比稍微有點不同,可以這樣使用PHP 5.3閉包語法
$closure = function($param) { echo $param; };
//This one takes value of someVar and “stores” it in the closure’s scope even if
//we later change the value of someVar outside it. We assume that $somerVar is defined before this
$closure2 = function($param) use ($someVar) { echo $param . ‘ ‘ . $someVar; };
比如PHP 5.3閉包語法在輸出HTML中閉包很有用:
function item_list(array $items, $formatter = null) {
//create the default formatter
if($formatter == null) {
$formatter = function($row) {
return ‘p’ . $row . ‘/p’;
};
}
$html = ‘h2Listing:/h2’;
foreach($items as $item) {
$html .= $formatter($item);
}
return $html;
}
以上就是介紹的兩種不同的PHP 5.3閉包語法的使用
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/247569.html