-2

我有几个复选框的代码,像这样工作正常

foreach($_POST as $key => $order_type) {
    if ('1' == $_POST[$key]) $_POST[$key] = '0';
}

如果我否定 if 它停止工作并且我确定有些不是 == '1'; 它只是将它们设置为 NULL。

foreach($_POST as $key => $order_type) {
    if ('1' != $_POST[$key]) $_POST[$key] = '0';
}

我想念什么吗?也试过!('1' == $_POST[$key])了。

谢谢

4

2 回答 2

2

复选框只有在被选中时才会被发送到服务器。

我假设它们的值为1,因此您将能够在$_POST数组中找到它们。但是,值所在的位置将不存在0(除非您在 html 中指定值0并选中该框...)。

要选中复选框,您需要使用isset该值,因为该值实际上并不那么重要,它要么设置(选中),要么没有,然后它就不会出现。

于 2012-12-08T02:14:38.960 回答
0

一个简单的 if/else 怎么样?

if ('1' == $_POST[$key]) {
   $_POST[$key] = '0'; }
else {
   Do this if it's != ;
}
于 2012-12-08T02:09:55.933 回答