>  기사  >  백엔드 개발  >  PHP中获取多个复选框的值,一定要给复选框的name属性值加[]吗

PHP中获取多个复选框的值,一定要给复选框的name属性值加[]吗

WBOY
WBOY원래의
2016-06-23 14:11:341347검색

我发现PHP程序中,为获取复选框的值,通常都给复选框的name属性加[],例如:


新用户注册



姓名:

性别:
  

爱好:太极拳
  音乐
  旅游

职业:

个性签名:




能不能不加,用别的办法取代了,因为我想把ASP的程序转换为PHP的程序,我希望HTML文件不改动最好。
还有,就是说加了这个hobby[],获取到的就会是个数组,不加就不是,这和ASP也不同哦,ASP对于多个name属性值相同的元素,获取到的总是数组。


回复讨论(解决方案)

这个没办法改变了

如果要既不改变HTML结构又想获取多选框的数组,那么楼主可以用JS获取多选框的值并合成JS数组,然后传值给PHP。

这是php的一个约定,除非修改内核,不能改变

但是你也可以自行处理提交的数据,希望你具备着个能力
对于表单

<form method=post>姓名:<input type="text" name="name"><br>性别:<input type="radio" name="Sex" value="1" checked="checked">男<input type="radio" name="Sex" value="0">女<br>爱好:<input type="checkbox" name="hobby" value="太极拳">太极拳<input type="checkbox" name="hobby" value="音乐" checked>音乐<input type="checkbox" name="hobby" value="旅游" checked>旅游<br><input type="submit" value="  提 交 "></form>

提交后用
echo urldecode(file_get_contents('php://input'));
你将得到形如这样的串:name=&Sex=1&hobby=音乐&hobby=旅游
至于接下来要做些什么?那就是你自己的事情了

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.