[英]PHP Foreach array as a error in function (invalid argument for foreach in…)
我正在研究一个新的最小项目,但我有一个错误,我不知道为什么。
通常,我首先使用$array = array();
创建数组后才使用它们$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),则该方法有效。 但是如果我在函数中调用,则会出现错误...
我不知道为什么
谢谢...
函数具有自己的可变范围 。 在函数外部定义的变量不会自动被其识别。
您可以使用global
关键字将变量“导入”到函数中。
function echo_array_demo() {
global $array;
foreach($array as $a)
{
echo $a[0] . '<br>';
}
}
使函数知道变量的另一种方法是将其作为引用传递 :
function echo_array_demo(&$array) {
foreach($array as $a)
{
echo $a[0] . '<br>';
}
}
echo_array_demo($array);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.