只有在调用者函数内部满足条件时才可以执行回调函数吗?
例如,我想实现这一目标:
function DoThings( callback_func) {
if( condition is true)
execute callback_func;
else
return 0;
}
function callback_func() {
echo 'condition met';
}
注意:我无法将条件移至callback_func
,因为它可能来自其他来源,并且其实现方式经常更改。
如果我正确理解了您的问题,并且您想用实际代码替换'execute callback_func'以执行该功能,那么下面的代码应该是您的答案。
function DoThings($callback) {
if( condition is true)
$callback();
else
return 0;
}
function callback_func() {
echo 'condition met';
}
您可以使用变量功能:https://www.php.net/manual/en/functions.variable-functions.php
在您的示例中为:
function DoThings( $callback_func_name) {
if( $condition)
$callback_func_name();
else
return 0;
}