【发布时间】:2012-12-20 19:08:36
【问题描述】:
我正在使用带有方法 GET 和复选框数组的表单:
foreach ($foo AS $key=> $value) {
$i++;
echo '<label for="'.$i.'">'.$value.'</label>
<input type="checkbox" name="foo[]" value="'.$value.'"" />';
}
输出如下网址:
form.php?id=34&foo[]=c1&foo[]=c2&foo[]=c3
有没有办法删除方括号 [] ,然后将表单方法更改为 POST 这不是真正的选项?
【问题讨论】:
-
不要将元素命名为
foo[],而是foo... -
方括号有什么问题?如果删除它们,您将仅获得获取字符串中的最后一个值。在您提供的网址中,您只会得到 $_GET['foo']=='c3'。
-
由于您在循环中生成复选框,因此您必须保留该括号,否则一个复选框值将被另一个值覆盖
-
Jonathan 和 Kasun 都指出了您需要方括号的原因。你有什么令人信服的理由想要摆脱它们吗?
-
不,除了“漂亮”的网址之外,没有真正令人信服的理由。