【发布时间】:2012-05-18 23:23:45
【问题描述】:
我对复选框输入中的特定数组有疑问。
$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
有谁知道为什么会发生这种情况以及如何解决?
【问题讨论】:
-
尝试 print_r 你的 $_POST['change'] 看看它有什么。