PHP 回调函数

来源:互联网 发布:阿里云合作公司有哪些 编辑:程序博客网 时间:2024/05/16 05:13


一、认识php回调函数
使用一个函数的时候,如果传递一个变量,不能解决多大问题,需要传递一个过程,改变函数的执行行为。
简而言之,就是使用函数,作为另一个函数的参数。如:
系统函数usort() 通过用户自定义的比较函数对数组进行排序。
语法
usort(array,myfunction);
参数
描述
array
必需。规定要进行排序的数组。
myfunction
可选。定义可调用比较函数的字符串。如果第一个参数小于等于或大于第二个参数,那么比较函数必须返回一个小于等于或大于 0 的整数。
说明
usort() 函数使用用户自定义的函数对数组排序。
注释:如果两个元素比较结果相同,则它们在排序后的数组中的顺序未经定义。到 PHP 4.0.6 之前,用户自定义函数将保留这些元素的原有顺序。但是由于在 4.1.0 中引进了新的排序算法,结果将不是这样了,因为对此没有一个有效的解决方案。
注释:本函数为 array 中的元素赋予新的键名。这会删除原有的键名。

usort($arr,function($a,$b){
if($a == $b) return 0;
return ($a < $b)?-1:1;
})

//这里传递的是匿名函数,需要php5.3版本以上支持。也可以传递变量函数,或者普通函数。

usort($arr,'funname');//函数名称
usort($arr,array(new classname(),'funname'));//类中的方法
usort($arr,'array("classname","funname")');//类中的静态方法

call_user_func_array("函数名", array("参数1""参数2"......));
用此方法可以实现参数个数不确定的回调函数,系统会自动的把参数1作为函数的第一个参数,参数2作为第二个参数,如果不够,函数使用默认值,如果多了,自动过滤。



原创粉丝点击