我对复选框输入中的特定数组有疑问。
$insert .= '<tr>
<td>' .$uname. '</td>
<td>' .$fname. '</td>
<td>' .$lname. '</td>
<td>' .$email. '</td>
<td>'.(($admin == 'y') ? 'Admin':'User').'</td>
<td><input type="checkbox" name="change['.$uid.']"
value="'.(($admin == 'y')?'n':'y').'"/>'
.(($admin == 'y')?'Make a user':'Make an admin user').'</tr>';
从我一直在阅读的内容来看,如果有多个复选框,这应该创建一个可以运行的数组。$uid 是user id
,名称显示为 change[1]、change[2] 等。这有效。
问题是当我通过这样的while语句运行它时:
while(list($key, $val) = each($_POST['change'])) {
我收到这条消息:
Warning: Variable passed to each() is not an array or object
有谁知道为什么会发生这种情况以及如何解决?