可变函数
当前有一个变量所保存的值,刚好是一个函数的名字,那么就可以使用变量+()来充当函数名使用。
<?php
$str='display';
function display(){
echo 'hello,world';
}
$str();//可变函数
?>
匿名函数
匿名函数:没有名字的函数,它不能访问外部变量
基本语法:
$display=function(){
echo 'hello';
}
$display()//调用函数--可变函数
变量保存匿名函数,本质得到的是一个对象(closure-闭包)
闭包
闭包是匿名函数里的一种,所有闭包都是匿名函数,但是不是所有匿名函数都是闭包.
闭包带外部记忆--可以访问外部变量
// 闭包函数
function display(){
// 局部变量
$name='小白';
// 匿名函数--无法直接使用外部变量
$innerfunction=function() use($name){//use 将外部变量保留给内部使用形成闭包函数
echo $name;
};
$innerfunction();
};
display()