为什么我的包含函数不能获取全局变量值?
问题描述:
我有一个func.inc文件,如下为什么我的包含函数不能获取全局变量值?
// STATUS_VALLUE
$status_failure = 0;
$status_success = 1;
function resultResultJson($status) {
echo $status;
echo $status_success;
}
而且我function.php如下
<?php
include("./includes/func.inc");
resultResultJson($status_success);
?>
我预期的结果11
。但我得到10
。为什么功能resultResultJson
没有得到正确的$status_success
结果?
更新
的https://stackoverflow.com/a/16959577/3286489的变量范围,这也解释了为什么提供了解释,但并没有给出一个解决方案。 @Niyoko Yuliawan提供的答案如下。
答
您需要声明$status_success
变量为全局变量。
function x($status){
global $status_success;
echo $status;
echo $status_success;
}
答
将文件名func.inc
转换为func.inc.php
,以便PHP可以解析该代码。此外,别忘了在开始时添加<?php
标签声称PHP脚本即将开始。
+0
谢谢。不幸的是,这种情况并非如此。 – Elye
变化'func.inc'到'func.inc.php'看 – RiggsFolly
加上' RiggsFolly
再有就是[适用范围,适用范围,适用范围] (http://php.net/manual/en/language.variables.scope.php)'$ status_success;'在函数内部是不可见的 – RiggsFolly