在看高手写的代码的时候,经常可以看到static与global,这两个关键字有什么用呢
static,翻译为“静态”
global,翻译为“全局”
static是用来申明一个静态变量,常用于含有循环计算的语句中,比如for
<?php
function index(){
static $phphubei = 0; //初始化静态变量
$phphubei+=1;
echo $phphubei.' ';
}
for($i=1;$i<10;$i++){
index();
}
//输出 1-10
//如果不加static,输出10个1,因为循环执行的时候,每次都是从0开始加1,而无法保存
?>
在一个页面中,往往通过$申请一个全局变量在任何地方引用,但是在function中须要使用global申明引用,否则就会报错
<?php
$phphubei='1';
function index(){
echo $phphubei;
}
index();
//上述语句会报错:Notice: Undefined variable: phphubei in D:\windowsoft\wamp\www\Gbook\1.php on line 4
?>
正确的写法为
<?php
$phphubei='1';
function index(){
global $phphubei;
echo $phphubei;
}
index();
//输出1
?>