这两天在研究discuz的后台,发现一些很神奇的东西,稍微百度了一下,发现大家对这个提得比较少。那么我就来说说吧。
我们通常用的post表单一般是这个样子的(我没有关闭表单</form>的习惯,大家还是加上吧……):
<form method="post" action="debug.php"> <input value="hello1" name="hello1"> <input value="hello2" name="hello2"> <input value="提交" type="submit">
嗯,为了方便我们把debug.php代码也贴出来(其实就一句……):
print_r($_POST);
好了,那么我们post一下,得到的是这样的结果:
Array ( [hello1] => hello1 [hello2] => hello2 )
这样的post没有什么好说的,大家都知道。好了,接下来是高级操作了——如果把表单改成这个样子呢:
<form method="post" action="debug.php"> <input value="hello" name="hello[word]"> <input value="hello" name="hello[wolrd]"> <input value="hello" name="hello[test]" type="submit"> </form>
好了,我们来post一下,竟然——
Array ( [hello] => Array ( [word] => hello [wolrd] => hello [test] => hello ) )
对啦~在post结果里面我们发现了数组~
那么这个代码可以再发扬一下,大家体会体会吧~比如这样:
<form method="post" action="debug.php"> <input name="foo[]" type="checkbox" value="thisone"> <input name="foo[]" type="checkbox" value="thatone"> <input name="foo[]" type="checkbox" value="another"> <input name="foo[]" type="checkbox" value="and this"> <input name="foo[]" type="checkbox" value="and more"> </form>
这个代码能够返回这样的结果~
Array ( [foo] => Array ( [0] => another [1] => and this ) )
这样只需要遍历一下$_POST['foo']数组就能够得到所有被用户勾选的选项啦~厉害吧~
(用php这么久了也才发现这个玩意我真是失败啊……)
本博客文章已转移到独立博客,查看本文请点击做最好的三三查看全文。