我们在使用
PHP关键字global如果用在function内部,则说明这个function内用的这个变量是全局的,全局变量就是在整个页面里都能起作用。例如
- $conf = 1;
- function conf_test() {
- global $conf;
- return ++$conf;
- }
-
echo conf_test()." br>";
-
echo conf_test()." br>";
输出:
2
3
如果没有global $conf;这句,输出就变成了全是1了。PHP关键字global起的作用就是,在function中,声明这个函数内用的$conf不是局部的,而是全局可用的。或者说,在函数内部定义的这个$conf不是函数内的变量,而是这个函数外面(也就是指$conf = 1;)定义的那个$conf.其实这里如果用$GLOBALS数组,就比较容易理解了。
我们在页面声明一个变量$conf其实相当于在$GLOBALS数组中定义了一项$GLOBALS['conf'].而这个$GLOBALS是全局可见的。所以上面的代码制作成$GLOBALS格式的写法就是
1 2 3 4 5 6 7 8 9 10 11 12 | <ol class = "dp-xml" >
<li class = "alt" ><span><span>$</span><span class = "attribute" >conf</span><span> = </span><span class = "attribute-value" >1</span><span>; </span></span></li>
<li><span> function conf_test() { </span></li>
<li class = "alt" ><span> return ++ $GLOBALS [ 'conf' ]; </span></li>
<li><span>} </span></li>
<li class = "alt" >
<span> echo conf_test(). "</span><span class=" tag "><span class=" tag-name ">br</span><span class=" tag ">></span><span>" ; </span></span>
</li>
<li>
<span> echo conf_test(). "</span><span class=" tag "><span class=" tag-name ">br</span><span class=" tag ">></span><span>" ; </span></span>
</li>
</ol>
|
ログイン後にコピー
输出:
2
3
PHP关键字global