入门 - 静态变量 ¶
作者:KK
发表日期:2016.8.25
函数退出时会自动销毁内部变量 ¶
正常情况下函数里声明的变量在函数运行结束后会被自动销毁:
function test(){
$a = 1 + mt_rand(1, 999);
echo $a;
echo '<br/>';
}
test();
test();
以上test函数里声明了一个叫a的变量并且赋予了一个随机数,而当结束返回到外面时,其实函数里的变量会被自动销毁不复存在,第二次调用的时候这个变量$a又重新生成了
不会被销毁的静态变量 ¶
通过static关键字来声明的变量就是静态变量,可以让它不被销毁:
function test(){
static $a = 0;
static $count = 0;
$a += 100;
echo '第' . (++$count) . '次调用' . __FUNCTION__ . '函数,该函数的内部变量$a的值是:' . $a;
echo '<br/>';
}
test();
test();
test();
test();
带static那一行是声明静态变量的,只有第一次调用此函数的时候才会声明,以后调用就不会再声明了,并且函数执行完毕后这些变量不会被销毁,依然被保留,下次再调用此函数,这些变量的值的累加是基于上次的值进行累加的