【发布时间】:2012-10-07 10:14:23
【问题描述】:
我在尝试在循环内运行代码时遇到问题,我的循环由一个函数组成。
这是我的代码:
$new = array(1,2,3,4);
for($i=0;$i<=3;$i++){
$val = $new[$i];
function myfunction($value) {
//Do something
}
echo $val;
}
问题是代码只输出我数组中的第一个值。我很困惑,难道我不应该在循环中声明一个函数吗?
【问题讨论】:
-
为什么你的循环中有一个函数?
-
因为已经给出了正确的答案,所以简短地说明为什么会发生这种情况:您的代码尝试重新定义函数 3 次,这在 PHP 中是不允许的。提示:在脚本开头使用
error_reporting(E_ALL);或在学习/开发时将其设置在 php.ini 中 - 使用此设置,您会看到类似于“致命错误,试图重新定义函数 myFunction 中的内容。 ..” -
for($i=0;$i<=3;$i++){ $val = $new[$i];可以写成foreach ($new as $val) { ...