global與$GLOBALS['']的區別及用法
+++ 探討(一)+++++++++++++++++++++++++++++++++++++++
很多人都認為global和$GLOBALS[]只是寫法上面的差別,其實不然。
根據官方的解釋是
- $GLOBALS['var'] 是外部的全域性變數$var本身。
- global $var 是外部$var的同名引用或者指標。(錯誤:是個別名引用而已,非指標!!!)
舉例說明一下:
01 |
<?php |
02 |
$var1 =
1; |
03 |
$var2 =
2; |
04 |
function test()
{ |
05 |
$GLOBALS [ 'var2' ]
= & $GLOBALS [ 'var1' ]; |
06 |
} |
07 |
08 |
test(); |
09 |
echo $var2 ; |
10 |
?> |
正常列印結果為1
01 |
<?php |
02 |
$var1 =
1; |
03 |
$var2 =
2; |
04 |