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 'msg1:'.$msg1; echo '<br/>'; echo 'msg2:'.$msg2; } $fnName = 'fnCallBack';//函数名 $params = array('hello', 'world');//将要传入到函数里面的参数 call_user_func_array($fnName, $params); ?>
Atas ialah kandungan terperinci php回调函数是什么样子的?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!