首页 >后端开发 >php教程 >php回调函数是什么样子的?

php回调函数是什么样子的?

怪我咯
怪我咯原创
2017-06-19 11:27:351966浏览

hp内置函数中很多用到了回调函数,像:
array_filter — 用回调函数过滤数组中的单元。
array_diff_ukey — 用回调函数对键名比较计算数组的差集。
这里的回调函数好像和普通函数没什么区别,求解,php回调函数是什么样子的?靠什么原理运行?

回调函数就是那些自己写的,但是不是自己来调,而是给别人来掉的函数。

就像下面的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 &#39;msg1:&#39;.$msg1;
      echo &#39;<br/>&#39;;
      echo &#39;msg2:&#39;.$msg2;
   }
   $fnName = &#39;fnCallBack&#39;;//函数名
   $params = array(&#39;hello&#39;, &#39;world&#39;);//将要传入到函数里面的参数
   call_user_func_array($fnName, $params);
?>

以上是php回调函数是什么样子的?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn