新手问:关于global和static的函数内区别
关于global和static的函数内区别?我不是很清楚,我知道2个都是在将函数值静态化使下次调用变量值是上次的调用变量的值,我想知道他们的区别是什么?还有一个疑问既然是全局变量,函数内的变量我在函数外无法调用。在php中是否有办法调用函数内申明的变量?
作者: jtlzhang 发布时间: 2011-07-25
你是问在函数体内global和static的区别吗?
$a=100;
function demo(){
static $b=1;
$b++;
echo $b.'<br>';
global $a;//声明该函数体下边用的$a是全局变量,即上边声明的$a;
echo $a.'<br>';
}
//在下边调用三次demo
demo();
demo();
demo();
如果去掉static,在$b一直是2,加上static后$b可以累加
$a=100;
function demo(){
static $b=1;
$b++;
echo $b.'<br>';
global $a;//声明该函数体下边用的$a是全局变量,即上边声明的$a;
echo $a.'<br>';
}
//在下边调用三次demo
demo();
demo();
demo();
如果去掉static,在$b一直是2,加上static后$b可以累加
作者: 白老师 发布时间: 2011-07-26
函数体内声明全局变量的方法
function demo2(){
$GLOBALS['www']=10000000;//中括号里的'www'即为该变量的名称,在外边加上$符即可访问
}
demo2();//调用一次函数里边声明的变量才有效
echo $www;
function demo2(){
$GLOBALS['www']=10000000;//中括号里的'www'即为该变量的名称,在外边加上$符即可访问
}
demo2();//调用一次函数里边声明的变量才有效
echo $www;
作者: 白老师 发布时间: 2011-07-26
谢谢老师明白了
作者: jtlzhang 发布时间: 2011-07-26