我有两个php文件,比如说
action.php的
require_once 'action_helper.php';
storeDataToDb($data); //function from action_helper.php
logPersistIsPerformed(); //function from action_helper
echo $success; //variable set in action_helper.php
action_helper.php
$success = "success";
function storeDataToDB($data) {
// persist data
}
function logPersistIsPerformed() {
insertToDB($success);
}
我不确定这只是一个范围问题,但我遇到的是当action.php调用action_helper.php中声明的函数和变量时没有问题。
但是当我在action.php中调用action_helper.php中的一个函数时,调用action_helper.php中声明的变量,它似乎没有看到这个成功变量。
在调试过程中,一旦我加载了页面,我就可以看到action和action_helper中的所有变量。但是当我从action_helper进入函数时,我无法看到action_helper中声明的变量,只看到传递给该函数的变量。
答案 0 :(得分:0)
您需要使用全局关键字让PHP知道 $ success 是一个全局变量。
function logPersistIsPerformed() {
global $success;
insertToDB($success);
}