我正在开发一个新的最小项目,但我有一个错误,我不知道为什么。
通常情况下,我首先使用$array = array();
但是在这种情况下我创建它没有这个代码,继承了一个示例完整代码,它输出错误:
<?php $i = array('demo', 'demo'); $array['demo/demodemo'] = $i; ?>
<?php $i = array('demo', 'demo'); $array['demo/demodemo2'] = $i; ?>
<?php
foreach($array as $a)
{
echo $a[0] . '<br>';
}
function echo_array_demo() {
foreach($array as $a)
{
echo $a[0] . '<br>';
}
}
echo_array_demo();
?>
我为数组$array
创建项目,如果我在没有函数的情况下调用它(foreach),它就可以工作。但如果我在一个函数中调用,那么错误就会出现......
我不知道为什么
谢谢...
答案 0 :(得分:2)
函数有自己的变量范围。函数外部定义的变量不会自动为其所知。
您可以使用global
关键字将变量“导入”到函数中。
function echo_array_demo() {
global $array;
foreach($array as $a)
{
echo $a[0] . '<br>';
}
}
使函数知道变量的另一种方法是passing it as a reference:
function echo_array_demo(&$array) {
foreach($array as $a)
{
echo $a[0] . '<br>';
}
}
echo_array_demo($array);