致命错误:不能使用[]读取
此代码不起作用><b>Fatal error</b>: Cannot use [] for reading i
<b>致命错误</b>:不能使用[]读取
<select style=" width:200px" class="mydds" name="myformdata[user][]">
这就是被发送。
myformdata[user][] 1
myformdata[user][] 2
myformdata[user][] 3
foreach($form['user'][] as $val){
echo ($val);
}
是什么问题?
这是一个语法错误。正确的语法是:
foreach($form['user'] as $val)
[]
语法用于将数据附加到数组。例如:
$form['user'][] = 'test';
上面将新的字符串添加到$form['user']
阵列的test
值。
感谢您的解释 – user773961 2011-06-11 17:53:56
的已张贴信息的结果(如果我正确理解你的解释)是:
$_REQUEST['myformdata']['user'] = array(1,2,3)
由于错误状态的很清楚,你不能阅读使用[]
。当您使用foreach
时,代码正在尝试读取as之前的值。它不能与[]
一起阅读。相反,尝试:
foreach ($_REQUEST['myformdata']['user'] as $val) { echo $val; }
或者,如果信息的真正是$form['user']
只是使用并跳过[]
foreach($form['user'] as $val){
echo ($val);
}
你的语法是错误的。其他人则暗示foreach()
,我会另外提出一个for()
循环:
for ($i = 0; $i < count($form['user']); $i++){
echo ($form['user'][$i]);
}
这将是更好的设置计数温度变量:) – AntonioCS 2011-06-11 19:00:16
这不是必要的,以演示for循环,但在优化(特别是对于大型数组)时,最好使用变量设置为'count()'。这是因为count()会在每次迭代时被调用,只需要调用一次。 – 2011-06-11 20:25:07
使用'的foreach($形式[ '用户'])' – 2011-06-11 17:50:22
或者使用'for'循环。 – 2011-06-11 17:52:28