[英]How to dynamically define a nested PHP function using parent function parameters
我嘗試到處尋找它,或者只是做不到?
因此,說我想擁有一個用於創建其他函數的函數,這些函數基於傳入的參數具有新的函數名稱,這是否可能?
我不斷得到函數未定義。 除了具有curing功能之外,您還可以使用參數命名嵌套函數並返回嵌套函數以供以后調用(通過您在參數中給定的名稱)嗎?
function maker_of_functions($secFuncName, $foo) {
$secFuncName = function($bar) {
$fooBar = $foo + $bar;
}
return $secFuncName();
}
在代碼調用的后面:
maker_of_functions('adder', 3);
echo adder(5);
要創建使用父函數參數的新函數,可以使用閉包:
function maker_of_functions($foo) {
// notice the "use" keyword below
return function($bar) use ($foo) {
return $foo + $bar;
};
}
然后使用它:
$adder = maker_of_functions(3);
echo $adder(5);
閉包是一個匿名函數。 它沒有名字。 它(僅作為對函數的引用)存在(包含在變量中)。 如果要使用動態命名的變量,則可以:
$name = "myNewNamedFunction";
$$name = maker_of_functions(3);
echo $myNewNamedFunction(6);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.