匿名函式是大部份程式語言都會有的功能。
開發時會遇到函式使用的次數極少(1次以上),想要加入lib中又怕到時候又忘記這支函式到底用在哪裡,感覺很雞肋!
透過匿名函式可以克服這方面的問題。
基本用法:
<?php
//print
$sum = function($a, $b){ print $a + $b; };
//輸出3
$sum(1,2);
//return
$sum = function($a, $b){ return $a + $b; };
//輸出3
print $sum(1,2);
?>
透過use,引用程式中的變數
<?php
$a = 1;
$b = "hello";
$callback = function($num1, $str1) use ($a, $b){
$a += $num1;
$b .= $str1;
print $a . " " . $b;
};
//輸出2 hello Tom
$callback(1,"Tom");
?>