static 在函数内部定义的变量,使用static关键字修饰的,用来实现跨函数共享数据的变量:函数运行结束,所有局部变量都会清空,如果重新运行一下函数,所有局部变量又会重新初始化。
基本语法:
function 函数名(){
static $变量名=值;
}
静态变量的作用是为了跨函数共享数据(同一个函数多次调用)
<?php
function add(){
//静态变量
static $count=1;
//局部变量
$local=1;
echo $count++,'===',$local++,'<br>';
}
//调用多次
add();
add();
add();
add();
//返回结果,$count 是累加的,而$local 每次都会初始化
/*
1===1
2===1
3===1
4===1
*/
?>
静态变量的原理:系统在进行编译的时候就会对static 这一项进行初始化:为静态变量赋值
函数在调用的时候,会自动跳过static关键字这一行,