我如何在php中使用回调

问题描述 投票:-2回答:2

只有在调用者函数内部满足条件时才可以执行回调函数吗?

例如,我想实现这一目标:

function DoThings( callback_func) {
   if( condition is true)
      execute callback_func;
   else
      return 0;
}

function callback_func() {
   echo 'condition met';
}

注意:我无法将条件移至callback_func,因为它可能来自其他来源,并且其实现方式经常更改。

php callback
2个回答
1
投票

如果我正确理解了您的问题,并且您想用实际代码替换'execute callback_func'以执行该功能,那么下面的代码应该是您的答案。

function DoThings($callback) {
  if( condition is true)
    $callback();
  else
    return 0;
}

function callback_func() {
  echo 'condition met';
}

0
投票

您可以使用变量功能:https://www.php.net/manual/en/functions.variable-functions.php

在您的示例中为:

function DoThings( $callback_func_name) {
   if( $condition)
      $callback_func_name();
   else
      return 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.