本文与《【Servlet】Javaweb中获取任意个参数》(点击打开链接)为姊妹篇,
如果你有时候需要通过get方法在php页面之间传递不定个参数,该怎么实现呢?
比如如下的效果,无论通过get方法,给numUndefindParameter.php这个页面传递任意个参数,它都能正常获取。
当然,一般不推荐这样做,建议还是用《【php】基本语法与页面之间数值传递》(点击打开链接)早已说过的,非常著名的$_REQUEST["某某某参数"];的做法。
本方法,主要是应用于,某些参数未知,需要把某些方法抽象出来的php页面。
在php中同样有与Javaweb中的方法,只是这种方法只能对于get方法传过来的任意个参数进行获取与操作,对于post方法传过来的参数,暂时没有太好的解决方法。其实既然是可以传递不定个参数,当然是通过get这种轻便的方法,不用于需要安全的页面。
主要是由于php是采用了$_SERVER['QUERY_STRING'];先获取地址栏?后面的参数,
然后再对aaa=1&bbb=2&ccc=3这个参数字符串再用explode()方法进行分割。与Javascript、Java中的split方法是一直的。
上面的numUndefindParameter.php,代码如下:
<?php $paramstr=$_SERVER['QUERY_STRING'];//获取参数字符串 $arr = explode("&",$paramstr);//先根据&这个字符分割一个个参数存入数组$arr foreach($arr as $element){//再遍历$arr这个数组 $arr2= explode("=",$element);//对其中的每一个元素进行根据=进行分割,再存入数组 echo "${arr2[0]}的值为:${arr2[1]}";//=前面的字符串是参数名,后面的字符串是参数值 echo "<br/>"; }?>