回调函数:
把函数作为参数然后在函数的特定条件下调用。
调用方法:
1. call_user_func()
定义简单函数:
function my_callback_function() {
echo 'hello world!';
}
call_user_func('my_callback_function'); //调用函数
class MyClass {
static function myCallbackMethod() {
echo 'Hello World!';
}
}
call_user_func(array('MyClass', 'myCallbackMethod')); //调用类的函数
call_user_func('MyClass::myCallbackMethod');//调用类的函数
2. array_filter — 用回调函数过滤数组中的单元
function odd($var)
{
return $var % 2 == 0;
}
$nums = array(1,2,3,4,5,6,7,8,9,10);
$odds = array_filter($nums, "odd");
print_r($odds);
输出:
Array
(
[1] => 2
[3] => 4
[5] => 6
[7] => 8
[9] => 10
)
function iadd($var1, $var2)
{
return $var1 + $var2;
}
$nums = array(1,2,3,4,5);
$sum = array_reduce($nums, "iadd");
echo implode('+', $nums) . "=" . $sum;
输出:
1+2+3+4+5=15