`
haohappy2
  • 浏览: 314176 次
  • 性别: 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);
?>

分享到:
评论

相关推荐

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

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

    PHP回调函数简单用法示例

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

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

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

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

    主要介绍了PHP回调函数概念与用法,简单介绍了回调函数的概念、原理,并结合实例形式分析了回调函数的相关使用技巧,需要的朋友可以参考下

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

    主要介绍了PHP回调函数及匿名函数概念与用法,结合实例形式详细分析了PHP回调函数及匿名函数的概念、功能、使用方法及相关操作注意事项,需要的朋友可以参考下

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

    本文实例讲述了php回调函数处理数组操作。分享给大家供大家参考,具体如下: array_reduce— 用回调函数迭代地将数组简化为单一的值 mixed array_reduce ( array $array , callable $callback [, mixed $initial = ...

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

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

    php数组操作函数

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

    PHP函数 -函数的高级用法.ppt

    * PHP函数 -----函数的高级用法 课程内容 可变函数 引用函数返回值 函数的嵌套调用 函数的递归调用 回调函数 一、可变函数 一个变量的值可以为另一个变量的名称。此外,一个变量的值还可以是一个函数的名称,这就是...

    etekPlupload:对plupload进行修改,方便调用和使用回调函数

    对plupload进行修改,方便调用和使用回调函数 使用方法: 1,引入plupload.full.js库文件 2,如果是seajs项目,将etekPlupload-seajs.js放入自己项目的组件包。如果不是,则直接引入etekPlupload-object.js 3,如果...

    PHP中call_user_func_array回调函数的用法示例

    call_user_func_array — 调用回调函数,并把一个数组参数作为回调函数的参数 mixed call_user_func_array ( callable $callback , array $param_arr ) 把第一个参数作为回调函数(callback)调用,把参数数组作...

    PHP 使用MySQL管理Session的回调函数详解

    本篇文章文章是对PHP中使用MySQL管理Session的回调函数进行了详细的分析介绍,需要的朋友参考下

    PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法

    PHP 5 提供了一种新的面向对象的错误处理方法,包括PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法,需要了解更多的朋友可以参考下

Global site tag (gtag.js) - Google Analytics