2016-11-12 77 views
-1

我有一个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提供的答案如下。

+0

变化'func.inc'到'func.inc.php'看 – RiggsFolly

+0

加上'<?php'发生什么情况INC。的启动文件 – RiggsFolly

+0

再有就是[适用范围,适用范围,适用范围] (http://php.net/manual/en/language.variables.scope.php)'$ status_success;'在函数内部是不可见的 – RiggsFolly

回答

1

您需要声明$status_success变量为全局变量。

function x($status){ 
    global $status_success; 
    echo $status; 
    echo $status_success; 
} 
+0

很酷。这非常有帮助!我赞成你的答案,并勾选它,因为它有帮助。我认为我的问题是有效的,因为我不能在其他地方找到解决方案。即使是明显的重复答案也没有告诉我把全球化。如果你同意我的观点,也许你可以帮助我回答问题,因为我认为它不值得投反对票。谢谢! – Elye

+0

@Elye我提出了你的问题,但它不会否定-2 downvotes,因为我只能提高一次。 –

+0

谢谢@Niyoko Yuliawan。这很好。我认为stackoverflow应该强制任何人投票,至少应该评论他们为什么拒绝投票。 – Elye

0

将文件名func.inc转换为func.inc.php,以便PHP可以解析该代码。此外,别忘了在开始时添加<?php标签声称PHP脚本即将开始。

+0

谢谢。不幸的是,这种情况并非如此。 – Elye

相关问题