php 回调函数的使用
2024-11-23 18:34:44
1.定义与实例: 回调函数就是调动函数的时候,将另外一个函数的名称当作参数传递进去,并且在函数体内进行调用 (1)例1 function study(){ echo "studying...<br/>"; } function play(){ echo "playing...<br/>"; } function sing(){ echo "singing...<br/>"; } //回调函数 function doWhat($funcName){ echo "我正在"; //通过可变函数的形式进行调用 $funcName(); } //执行回调函数 doWhat('sing'); //返回结果 我正在singing... (2)例2 function study($username){ echo $username."is studying...<br/>"; } function play($username){ echo $username."is playing...<br/>"; } function sing($username){ echo $username."is singing...<br/>"; } //回调函数 function doWhat($funcName,$username){ //通过可变函数的形式进行调用 $funcName($param); } //执行回调函数 doWhat('sing','oliver'); //返回结果 oliver is singing... (3)例3 function add($x,$y){ return $x+$y; } function reduce($x,$y){ return $x-$y; } //回调函数 function calc($funcName,$i,$j){ //通过可变函数的形式进行调用 return $funcName($i,$j); } //执行回调函数 calc('add',1,2); //返回结果 3 //执行回调函数 calc('reduce',1,2); //返回结果 -1 2.php系统常用回调函数 (1)array_map –将回调函数作用到指定数组的单元上 <?php function myfunction($v) { return($v*$v); } $a=array(1,2,3,4,5,6); print_r(array_map("myfunction",$a)); ?> (2)array_walk –对数组中的每个元素应用用户自定义函数: <?php function myfunction($value,$key) { echo "The key $key has the value $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); ?> (3)array_filter()–用回调函数过滤数组中的元素: <?php function test_odd($var) { return($var & 1); } $a1=array("a","b",2,3,4); print_r(array_filter($a1,"test_odd")); ?>