簡體   English   中英

如何使用父函數參數動態定義嵌套的PHP函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM