作用域
变量作用域
-
全局变量:在函数外面
-
局部变量:在函数里面
-
超全局变量:可以在函数内部和函数外部使用
-
使用$GLOBALS在函数内部访问全局变量
<?php
$num=10;
function fun(){
echo $GLOBALS['num'];//输出全局变量
}
fun();
?>
静态变量
静态变量一般只的是静态局部变量
<?php
function fun(){
$num=10; //普通变量每调用一次初始化一次,调用完毕销毁
$num++;
echo $num,'<br>';
}
fun();//11
fun();//11
--------------------------------------------------------------------
function fun(){
static $num=10;//静态变量只初始化一次,调用完毕不销毁,第二次调用的时候就不在初始化
$num++;
echo $num,'<br>';
}
fun();//11
fun();//12
fun();//13
?>
匿名函数use
<?php
$num=10;
$fun=function() use($num){//将$num引入到匿名函数中
echo $num;
};
$fun();//10
?>
递归
函数内部自己调用自己
输出9 8 7 6 5·····
<?php
function fun($num){
echo $num,' ';
if($num==1)//递归出口
return;
fun($num-1);//递归点
}
fun(9); //9 8 7 6 5 4 3 2 1
?>