使用php从url中提取最后一个参数

时间:2012-02-28 23:25:19

标签: php

我有这样的网址:http://url.com/test.html?var1?var2或者像这样:http://url.com/test.html?var2

我怎么能用php总是提取var2?意思是$ variable = var2。

请注意,我正在处理的服务器不支持$ _GET。它只是不起作用。

谢谢你的帮助:)

编辑:在此网址上使用print_r($_GET)之后:http://xxxxxx.com/partners/?page_id=1012?selectuser=1我得到:Array ( [page_id] => 1012?selectuser=1 )

但当我做<?php echo $_GET['selectuser']; ?>时,没有任何回应......

编辑2:在<?php var_dump($_GET['selectuser']); ?>上执行http://xxxxxx.com/partners/?page_id=1012?selectuser=1我得到NULL

3 个答案:

答案 0 :(得分:1)

我不知道您的服务器或获取阵列发生了什么,但您可以使用$ _SERVER数组来满足您的需求。你只需要选择一个数组成员并找出解析它的方法。

尝试可能$ _SERVER ['REQUEST_URI']

方注:

某些框架如代码点火器禁用了get。

答案 1 :(得分:0)

不正确:

http://url.com/test.html?var1?var2

正确:

http://url.com/test.html?var1=value1&var2=value2

首先按顺序获取您的网址,然后尝试$ _GET。

- 编辑 -

不确定你的意思“请注意,我正在处理的服务器不支持$ _GET。它只是不起作用。”以下应该有效:

var_dump($_GET); // outputs array with var1 and var2

var_dump($_GET['var1']); // outputs value1

var_dump($_GET['var2']); // outputs value2

var_dump(end($_GET)); // outputs value2 (or whatever last element in array is)

如果$ _GET不起作用,请尝试$ _REQUEST。

答案 2 :(得分:0)

如果无法访问$ _GET变量,您可以从$ _SERVER数组中获取当前请求URL,然后使用php函数parse_url解析该URL,然后获取查询部分并使用{{1}函数,然后将结果作为一个简单的parse_str数组处理。