可变函数
首先可变函数的定义是:
有一个变量$a保存的值,正好是一个函数的名字,那么使用该函数的时候就可以换种写法:变量a() 即可。
//定义函数
function display(){
return __FUNCTION__;
}
//定义变量
$a = 'display';
//使用变量可以这样写:
$a();
那么,可变函数一般用在哪里呢?
在以后做一些项目的时候比较常用:比如使用很多系统函数的时候,有些外部用户自定义的函数需要放到系统函数内部使用。
比如现在有个用户定义的函数,用于求一个数的四次方:
function user_function($num){
return $num*$num*$num*$num;
}
但是比如别人要调用你的API的时候,他不知道你有什么函数(因为实在太多了),他只知道系统函数里面有什么。这就需要把这个四次方函数放到系统函数里面去,使用的时候就需要用可变函数。
假如这个系统函数是这样的:
function sys_function($arg1,$arg2){
return $arg1($arg2);
}
那么比如求10的4次方就可以这样写:
sys_function('user_function',10);
有时候呢,需要对用户提交的数据进行一些处理,这时候就可以在系统函数里面更改,如:
function sys_function($arg1,$arg2){
$arg2 += 10;
return $arg1($arg2);
类似情况还有很多,比如要对某些数据加和等等,都可以这样用。
以上就是回调过程。