首頁  >  文章  >  後端開發  >  php回呼函數是什麼樣子的?

php回呼函數是什麼樣子的?

怪我咯
怪我咯原創
2017-06-19 11:27:351928瀏覽

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