2016-12-27 98 views
-4

我試圖訪問全局變量。在另一個腳本文件中全局使用PHP變量

我創建了一個文件test1.php,並在其中我寫

<?php 
    $a = 5; 
    $b = 7; 
?> 

而在另一個文件test2.php我寫的,

<?php 
    global $a, $b; 
    echo $a + $b; 
?> 

,但結果是0

所以,

  1. 我不能嗎? se $a, $b在其他網頁?
  2. 我需要爲此使用會話嗎?
+0

僅當您包含該文件時。現在,左手不知道右手在做什麼。 –

+1

如果您不'包含'一個腳本到另一個腳本,您需要使用'$ _SESSION',是的。或者將其作爲參數從一個腳本傳遞到另一個腳本 – Jeff

+1

[參考:什麼是變量作用域,哪些變量可以從哪裏訪問,什麼是「未定義變量」錯誤?](http://stackoverflow.com/questions/16959576/reference - 什麼是變量範圍 - 哪些變量是可以訪問的 - 從哪裏和) - http://php.net/manual/en/language.variables.scope.php –

回答

1

更好的方法是引入一個名爲globals.php的文件,並在其中包含所有變量。

<?php 
    $a = 5; 
    $b = 7; 
?> 

然後在您的test2.php文件,包括globals.php。然後你可以使用你的變量。

include "globals.php" 
echo $a + $b; 

global關鍵字可以,如果你是用一個函數內部的變量可以使用,不用將它們裏面的功能。

一樣,

include "globals.php" 

function calculate(){ 
    global $a, $b; 
    return $a + $b; 
} 

echo calculate(); 

如果你不打算使用一個文件一樣globals.php,你的選擇是保存值$_SESSION,這是相當醜陋的,當你有更多的東西!但仍然可以使用。

既然你聲明你是初學者,保持東西分開總是件好事。全局變量,單獨的函數等等,並將它們包含在您要使用它們的文件中。這種分離可以幫助您在成長過程中輕鬆管理物品。 (例如:如果它是你想調試的功能,你知道它在哪裏...)

希望這對你有幫助!謝謝。

相關問題