我在理解PHP中的包含和函數範圍時遇到了一些麻煩,有些Google搜索沒有提供成功的結果。但現在的問題是:功能範圍在PHP中包括包括在內
這不起作用:
function include_a(){
// Just imagine some complicated code
if(isset($_SESSION['language'])){
include 'left_side2.php';
} else {
include 'left_side.php';
}
// More complicated code to determine which file to include
}
function b() {
include_a();
print_r($lang); // Will say that $lang is undefined
}
所以基本上,存在left_side.php
和left_side2.php
稱爲$lang
的數組。我想在b()
之內訪問它,但上面的代碼設置會說$lang
未定義。但是,當我複製並粘貼最初的include_a()
中的確切代碼時,它將正常工作。但正如你所想象的,我不希望將代碼複製並粘貼到我需要的每個函數中。
如何緩解這個範圍問題,我做錯了什麼?
啊,謝謝。我不知道$ GLOBALS功能。儘管調用聯想的$ GLOBALS有一個古怪的語法(即$ GLOBALS ['lang'] ['EMAIL']),但一切都很好。現在不需要include_a()函數。 再次感謝您。 – id2341677