为什么我的include函数不能获得全局变量值?

时间:2016-11-12 05:16:28

标签: php

我有一个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帮助。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

将文件名func.inc转换为func.inc.php,以便PHP可以解析该代码。另外,不要忘记在开始时添加<?php标记来声明PHP脚本将要开始。