//可变函数-可把函数赋值给变量 $funHanshu = 'md5'; echo $funHanshu('king'); echo '<br>'; echo md5('king'); die; //回调函数-可在参数里直接调用函数 function add($x,$y){ return $x+$y; } function callfunction($functionName,$x,$y){ return $functionName($x,$y); } echo callfunction('add',1,3); //匿名函数(闭包函数)--就是没有名字的函数 $funs = function(){ echo 'this is a test'; }; $funs(); //通过crete_function $funs = create_function('','echo "this is funcion";'); $funs(); echo '<hr>'; $funs = create_function('$x,$y','return $x+$y;'); echo $funs(1,100); $array = [1,2,3,4,5]; $arr = array_map(function($var){return $var*2;},$array); print_r($arr); echo '<hr>'; echo call_user_func(function($name){return "hell0 {$name}";},'king'); //递归函数--内部循环 function test($i){ echo $i.'<br>'; if($i > 0){ $fun = __FUNCTION__; $fun($i-1); } echo $i.'<br>'; } test(100);