Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php回调函数是什么样子的?

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

怪我咯
怪我咯asal
2017-06-19 11:27:351929semak imbas

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);
?>

Atas ialah kandungan terperinci php回调函数是什么样子的?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn