`
haohappy2
  • 浏览: 326355 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PHP 回调函数的使用

阅读更多

回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。

回调和API非常接近,他们的共性都是跨层调用的函数。但区别是API是低层提供给高层的调用,一般这个函数对高层都是已知的;而回调正好相反,他是高层提供给底层的调用,对于低层他是未知的,必须由高层进行安装,这个安装函数其实就是一个低层提供的API,安装后低层不知道这个回调的名字,但它通过一个函数指针来保存这个回调函数,在需要调用时,只需引用这个函数指针和相关的参数指针。

其实:回调就是该函数写在高层,低层通过一个函数指针保存这个函数,在某个事件的触发下,低层通过该函数指针调用高层那个函数。
回调函数就是那些自己写的,但是不是自己来调,而是给别人来掉的函数。
就像下面的odd()和even()函数一样。
<?php
function odd($var)
{
   return($var % 2 == 1);
}

function even($var)
{
   return($var % 2 == 0);
}

$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);

echo "Odd :\n";
print_r(array_filter($array1, "odd"));//这里把array1的值依次传入到odd这个函数里面,这种方式就称为回调
echo "Even:\n";
print_r(array_filter($array2, "even"));

?>

下面这个例子实现函数的回调
<?
function fnCallBack($msg1, $msg2)
   {
     echo 'msg1:'.$msg1;
      echo '<br/>';
      echo 'msg2:'.$msg2;
   }
   $fnName = 'fnCallBack';//函数名
   $params = array('hello', 'world');//将要传入到函数里面的参数
   call_user_func_array($fnName, $params);
?>

分享到:
评论

相关推荐

    js 回调函数

    这种方法假设你需要为你的回调函数使用不同的签名,例如 Ajax.Net 的专家们允许你在回调中使用额外的参数,如果你想从一个换到另外一个并且保持兼容性的话,就要用到下面的写法: 方法四:使用匿名函数 第四种办法...

    PHP回调函数与匿名函数实例详解

    本文实例讲述了PHP回调函数与匿名函数。分享给大家供大家参考,具体如下: 回调函数和匿名函数 回调函数、闭包在JS中并不陌生,JS使用它可以完成事件机制,进行许多复杂的操作。PHP中却不常使用,今天来说一说PHP...

    PHP回调函数概念与用法实例分析

    PHP回调函数是一种特殊的函数,它允许将一个函数作为参数传递给另一个函数,然后在特定的时机由该函数调用这个传入的函数。这种机制在程序设计中非常有用,尤其是在需要自定义功能行为,或者使用事件驱动编程模型时...

    PHP回调函数简单用法示例

    本文实例讲述了PHP回调函数简单用法。分享给大家供大家参考,具体如下: ... 这两个函数的区别是: ...下面是一些常见的回调函数使用的例子: //普通函数 function f1($param1,$param2) { echo '函数

    dwz框架lookgroup增加回调函数

    这时,我们就需要使用回调函数来实现这种操作。 那么,我们如何来增加回调函数的支持呢?我们可以通过修改dwz.database.js文件来实现这一点。首先,我们需要在_lookup对象中增加一个callback属性,然后在...

    PHP回调函数及匿名函数概念与用法详解

    PHP回调函数是指在函数执行过程中,可以临时调用其他函数来完成某些操作,之后再返回到原来的函数继续执行的过程。匿名函数则是没有函数名的函数,可以赋值给变量或者直接作为参数传递给其他函数。这两者在PHP中广泛...

    JS回调函数原理与用法详解【附PHP回调函数】

    本文实例讲述了JS回调函数原理与用法。分享给大家供大家参考,具体如下: JS回调函数 何为回调函数,官方解释:当程序跑起来时,一般情况下,应用程序(application program)会时常通过API调用库里所预先备好的函数...

    999316703585961php支付宝支付,退款,回调函数.rar

    本文将深入探讨如何使用PHP与支付宝API进行支付、退款操作以及如何处理回调函数。这些功能是电子商务平台和许多在线服务不可或缺的部分。 首先,让我们理解"999316703585961php支付宝支付,退款,回调函数.rar"这个...

    php回调函数处理数组操作示例

    这里我们将详细探讨`array_reduce`、`array_filter`和`array_map`这三个函数,以及如何使用回调函数来处理数组。 1. **array_reduce()**: `array_reduce`函数用于迭代地将数组简化为单一的值。它接受两个主要参数...

    PHP callback函数使用方法和注意事项

    PHP回调函数使用广泛,比如用于数组排序函数usort()、回调验证、事件处理和异步任务等多种场景。接下来,我们将详细介绍PHP回调函数的使用方法、注意事项以及展示一个使用实例。 首先,了解PHP中如何定义一个回调...

    基于Websocket 协议,PHP类库 和 javascript类库 , 实现事件+回调函数的架构开发

    在"基于Websocket 协议,PHP类库 和 javascript类库,实现事件+回调函数的架构开发"的项目中,我们主要关注的是如何在PHP后端和JavaScript前端中利用Websocket进行数据传输,并构建基于事件驱动的架构。下面将详细...

    php数组操作函数

    array_diff_assoc -- 带索引检查计算数组的差集 array_diff_key -- 使用键名比较计算数组的差集 array_diff_uassoc -- 用用户提供的回调函数做索引检查来计算数组的差集 array_diff_ukey -- 用回调函数对键名比较...

    微信企业号开发php完整回调版

    5. **回调机制**:回调函数是微信企业号处理消息的核心部分。当微信服务器接收到用户的消息或事件后,会将这些信息发送到开发者设定的回调URL,开发者需要在这个URL上编写代码来处理这些消息。 6. **自动回复**:...

Global site tag (gtag.js) - Google Analytics