在脚本的不同开头,我使用$errors
将变量$errors = array();
声明为空数组。
通过脚本,在某些函数中,我尝试使用$errors['key'] = 'value';
向该数组添加一个元素,在脚本末尾,在另一个函数中,我尝试打印$errors
的使用print_r
和var_dump
的值,但都返回一个空数组。
我也尝试使用array_push($errors, 'test')
进行测试-我无法使用此方法,因为我需要为每个值分配一个键-但它也不起作用。
为了确保调用$errors['key'] = 'value';
,我添加了echo "<script>console.log(\"random message\")</script>";
,并且可以在控制台中看到“随机消息”,但是$errors
数组仍然为空。
我以错误的方式添加值吗?这是范围问题吗?我应该将$errors
传递为要在其中打印其值或为其赋值的函数的参数吗?
我尝试添加值的示例:
$errors = array();
function randomFunc() {
//do some stuff
if (somethingWentWrong) {
//If I add 'echo "<script>console.log(\"random message\")</script>";' here, it logs 'random message' to the console
$errors['new-key'] = 'a string';
return false;
} else {
return true;
}
function finalFunc() {
if (randomFunc()) {
echo "yee";
} else {
//If I add data here using '$errors['test'] = 'value';', it works
print_r($errors); //Returns empty array
var_dump($errors); //Returns empty array
}
}
谢谢!