【php】php中获取任意个参数

本文与《【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/>";
	}
?>
时间: 2024-10-24 22:21:28

【php】php中获取任意个参数的相关文章

【Servlet】Javaweb中获取任意个参数

总有这样的情况,传递到后台处理方法的参数数目不知道. 比如某个前台以前要传递给getAllParameter这个Servlet的参数位置.而又要再Servlet对不定长的参数进行一一分解,这该怎么办呢? 下面做一个简单的Javaweb工程来说明这个问题,整个Javaweb工程就getAllParameter.java这个Servlet 如下图所示,无论传递给getAllParameter这个Servlet多少个参数, getAllParameter这个Servlet都一一能够将其输出. 这时候关

web过滤器中获取请求的参数(content-type:multipart/form-data)

1.前言: 1.1 在使用springMVC中,需要在过滤器中获取请求中的参数token,根据token判断请求是否合法: 1.2 通过requst.getParameter(key)方法获得参数值; 这种方法有缺陷:它只能获取  POST 提交方式中的Content-Type: application/x-www-form-urlencoded; HttpServletRequest request= (HttpServletRequest) req; String param = reque

自动化接口测试平台:从excel读取数据,传递到request请求中获取不到参数问题

遇到一个问题,将入参的必填参数按照dict格式填入excel表格中,从excel读取数据传递到request请求一直获取不到参数 解决: 1.注意从excel中读取的数据格式为str,传递到request请求的参数格式要求为dict 2.需要将数据反序列化,有以下两种方法: request.post对于参数传入的格式有特殊要求:post请求是我们常说的提交表单,表单的数据内容就是post请求的参数,request实现post请求需设置请求参数data,数据格式 可以为字典.元组.列表和json格

拦截器中获取restful风格参数

controller层: @GetMapping(value = "/api/users/{device}") public ResultDO get(@PathVariable("device") String device){ *** } 拦截器中: public class ParameterInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpSe

ASP.NET MVC中获取URL地址参数的两种写法

一.url地址传参的第一种写法 1.通过mvc中默认的url地址书写格式:控制器/方法名/参数 2.实例:http://localhost:39270/RequestDemo/Index/88,默认参数名为id所以名称为id. 如果使用其他名称,后台是无法读取的会报错 二.url地址传参的第二种写法 1.使用?加参数名=参数值的写法,如果有多个参数使用&来连接 http://localhost:39270/RequestDemo/Index?id=88&name=%E5%BC%A0%E4%

ETL中获取公共时间参数变量释义

原文地址:https://www.cnblogs.com/yongestcat/p/11427684.html

4、处理方法中获取请求参数、请求头、Cookie及原生的servlet API等

1.请求参数和请求头 使用@RequestParam绑定请求参数,在处理方法的入参处使用该注解可以把请求参数传递给请求方法 —— value :参数名 —— required : 是否必须,默认为true,表示请求参数中必须包含对应的参数,如果不存在,则抛出异常     例如: @RequestMapping(value="/param") public String testParam(@RequestParam(value="name", required=tr

Spring中的AOP(五)——在Advice方法中获取目标方法的参数

摘要: 本文介绍使用Spring AOP编程中,在增强处理方法中获取目标方法的参数,定义切点表达式时使用args来快速获取目标方法的参数. 获取目标方法的信息 访问目标方法最简单的做法是定义增强处理方法时,将第一个参数定义为JoinPoint类型,当该增强处理方法被调用时,该JoinPoint参数就代表了织入增强处理的连接点.JoinPoint里包含了如下几个常用的方法: Object[] getArgs:返回目标方法的参数 Signature getSignature:返回目标方法的签名 Ob

c#获取url中的查询字符串参数

/// <summary> /// 获取url中的查询字符串参数 /// </summary> public static NameValueCollection ExtractQueryParams(string url) { int startIndex = url.IndexOf("?"); NameValueCollection values = new NameValueCollection(); if (startIndex <= 0) ret