传变量传引用的区别
传引用如:
$num = 0;
function test0($num){//将变量的值副本传进去,而不是变量本身。
$num = 123;
echo $num;
}
test0($num);//输出:123
echo $num; //输出:0
$num2 = 100;
function test1(&$val){//传变量地址,操作的是变量本身
$val = 300;
echo $val;
}
test1($num2);//输出:300
echo $num2; //输出:300
变量函数,即函数名是一个变量
$temp = "king";
$name = "md5";
echo $name($temp);//调用md5方法,将king转成md5
回调函数,一个函数调用另一个函数,但是通过变量函数调用的方法实现,系统提供两个方法:call_user_func()、call_user_func_array(),两者的区别是前者参数是一个一个传,后者参数以数组的形式传。例子如下:
function sayName($val){
echo "My name is {$val}";
}
function doWhat($myFunction,$name){
$myFunction($name);
}
$name = "King";
doWhat("sayName",$name);//输出:My name is King.