【发布时间】:2015-07-06 23:03:34
【问题描述】:
我在函数之外创建了一个数组,这意味着它应该具有全局范围。然后我尝试从一个函数中循环遍历它,该函数应该可以访问全局创建的数组,但是当我尝试这样做时它会抛出一个错误。
$form_fields = array(
'name',
'locality',
'url_slug',
'address');
function step_1() {
foreach($form_fields as $field) {
echo $field . '<br />';
}
}
step_1();
我收到以下错误:
未定义变量:form_fields -- 在第 10 行
我想避免使用 global 关键字或必须将数组添加为函数的参数,因为我只想读取数组而不更改它。
如何从 step_1() 函数中访问全局创建的 $form_fields 数组?
【问题讨论】:
-
将其作为参数传递?!该函数有它自己的范围(另见:stackoverflow.com/q/16959576/3933332)
-
... 并更正 echo 参数,因为没有意义
标签: php arrays scope global-variables