for ($i=1; $i<=27 ; $i++) {
echo 'listid='.$i.'';
echo 'statusid='.$_POST[$i].'';
if (isset($_POST[$i])) {
$listid = $i;
$statusid = $_POST[$i];
// $funcs->insertAudit($listid,$statusid);
}
}
你能把变量放在$_POST
里吗?因为这似乎是我的问题。它显示以下错误:
listid = 1
注意:未定义的偏移量:在第567行的C:\ xampp \ htdocs \ stafflease \ index.php中为1 statusid =
答案 0 :(得分:2)
您没有安全地对$_POST
进行迭代。<错误说“未定义偏移量1”表示$_POST[1]
不存在
你应该使用foreach安全地迭代,这可以保证你有密钥(偏移量)
foreach($_POST as $key=>$value){
$listid = $key;
$statusid = $value;
}
如果您仍想使用范围1到27 你应该问isset 之前去那个单元格。
for($i = 1; $i < 27; $i){
if(!isset($_POST[$i])) continue;
//here it is safe to use $_POST[$i]
}
答案 1 :(得分:0)
它不适合在一个循环中借助整数索引从$ _POST数组中获取值。你可以使用foreach循环。
foreach($_POST as $key=>$value){
$listid = $key;
$statusid = $value;
}
这里的echo '<pre>';
var_dump($_POST);
die;