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


Why can't my include function get the global variable value?

我有一个函数。文件如下

// 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);
?>

I'm expected result 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脚本即将启动。