无法获取函数中的变量

时间:2018-07-18 19:09:07

标签: php

我有一个翻译系统:

/phps/languages.php

$root = $_SERVER['DOCUMENT_ROOT']; 
if($lang == "en-us"){
    include_once("$root/site-languages/en-us.php"); // include en-us
}

此功能: /phps/date.php

function time_difference($date){

$root = $_SERVER['DOCUMENT_ROOT']; 
include_once("$root/phps/languages.php");

echo $language_include_variable; // it is empty

还有我的page.php,它将调用date.php,而日期将调用language.php。

$root = $_SERVER['DOCUMENT_ROOT']; 
include_once("$root/phps/date.php");

问题是echo $ language_include_variable为null。 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这是由于include_once造成的。该文件将仅一次包含在脚本的生存期中,因此只能在函数作用域中访问一次。

在该函数的后续调用中,将不再包含该文件,因此该变量将不再位于该函数的范围之内。