2013-08-20 62 views
-1

我在代碼中聲明瞭一個變量($ bonus)併爲其賦值。在此之後,$GLOBALS['bonus']包含相同的值。

爲什麼會發生這種情況?

+0

你是否啓用了註冊全局變量? – Stony

+2

'$ bonus'(在全球範圍內)和'$ GLOBALS ['bonus']'是一樣的......這是預期的行爲。 – naththedeveloper

+0

是的權利:D對不起 – Stony

回答

0

這就是它應該如何行爲方式。在全球範圍內

<?php 
function test() { 
    $foo = "local variable"; 

    echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n"; 
    echo '$foo in current scope: ' . $foo . "\n"; 
} 

$foo = "Example content"; 
test(); 
?> 

$ foo的:示例內容
$ foo的電流範圍:本地 變量

Source

0

如果有相同的全局變量名稱,它會被覆蓋,這是PHP中的正常行爲。

這也是爲什麼你永遠不應該使用全局變量。