2015-04-22 34 views
0

據「全球關鍵字」節中,我們具有下面的代碼段在PHP variable scope manualPHP變量範圍手冊「全球關鍵字」

<?php 
    $a = 1; 
    $b = 2; 

    function Sum() 
    { 
     global $a, $b; 

     $b = $a + $b; 
    } 

    Sum(); 
    echo $b; 
?> 

以上腳本的輸出3.

但在我的情況是回聲輸出2.

我誤解了一些東西?

+4

無法重現:http://3v4l.org/Xq3kU可能重新啓動服務器。 – Rizier123

+3

其工作正常,對我來說。 – pcs

+0

由於任何我不知道的原因,在.php文件和.phtml文件中回顯3。任何人都可以用幾句話來解釋爲什麼? – FranMercaes

回答

0

您必須調用Sum()函數才能修改$ b的值。確保你在回聲之前調用它。如果您將$ a和$ b封裝在函數或類或名稱空間中,則不會像在該示例中那樣工作。

+0

正如你在OP的代碼中看到的那樣,他調用了Sum()。另外他在命名空間中沒有'$ a'或'$ b'或類似的東西。 – Rizier123