【问题标题】:How can I use a callback in php如何在 php 中使用回调
【发布时间】:2019-11-21 15:56:00
【问题描述】:

是否可以仅在调用函数内部满足条件时才执行回调函数?

例如,我想实现这一点:

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

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

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

【问题讨论】:

  • 请提出任何导致您提出这个问题的问题 - 所提问题的答案是“是”
  • @AD7six 我已经做了,只有条件为真时才需要执行回调函数。
  • callback_func() 执行一个函数,有什么问题?
  • @HAßdøµ 见这里3v4l.org/66QhK
  • @vivek_23 这正是我所需要的,看来我对它们有错误的理解,以前我把它们视为在它们通过后立即执行。您可以发表您的评论作为答案,以便我接受吗?

标签: php callback


【解决方案1】:

如果我正确理解了您的问题,并且您想用实际代码替换“执行回调函数”以执行该函数,那么下面的代码应该是您的答案。

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

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

【讨论】:

  • 如何传递参数给它?
【解决方案2】:

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

在你的例子中它将是:

function DoThings( $callback_func_name) {
   if( $condition)
      $callback_func_name();
   else
      return 0;
}

【讨论】:

    猜你喜欢
    • 2021-03-20
    • 1970-01-01
    • 2011-09-29
    • 2011-09-16
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    • 1970-01-01
    相关资源
    最近更新 更多