Php 如何获取URL数据

Php 如何获取URL数据,php,Php,我已经创建了自定义查询,我正在通过POST ajax发送该查询,但问题在于如何检索该数据 我正在发送此查询=rep\u id=4&filter=&filter\u val=&rep\u id=5&filter=&filter\u val=&rep\u id=6&filter=&filter\u val=&from=p\u employee\mst 下面是用PHP获取该查询的函数 $rep=""; foreach ($_POST["rep_id"] as $k => $v) { $r

我已经创建了自定义查询,我正在通过POST ajax发送该查询,但问题在于如何检索该数据

我正在发送此查询=
rep\u id=4&filter=&filter\u val=&rep\u id=5&filter=&filter\u val=&rep\u id=6&filter=&filter\u val=&from=p\u employee\mst

下面是用PHP获取该查询的函数

$rep="";
foreach ($_POST["rep_id"] as $k => $v) {
    $rep[]=$v;
}
print_r($rep);
我得到以下错误

为foreach()提供的参数无效。

如果打印($\u POST);我明白了

Array
(
    [rep_id] => 6
    [filter] => 
    [filter_val] => 
    [from] => p_employee_mst
)

问题在于您的查询字符串


rep_id
应表示为
rep_id[]
,您应在链接中将其替换为URL编码,例如:
rep_id%5B%5D

在您的示例中rep_id是一个简单的整数值。当您将多个参数添加到变量中时,您将得到最后一个参数。在您的情况下,它的rep_id=6

如果需要数组,请在请求中创建一个数组

rep_id[]=5&rep_id[]=6
结果是:

array (size=2)
  0 => string '5' (length=1)
  1 => string '6' (length=1)
然后你可以迭代数组。否则将得到以下结果:

rep_id=5&rep_id=6

string '6' (length=1)
因为最后一个值/参数赢了