通过url Get获取数据

时间:2017-12-06 13:25:41

标签: php get

我正在尝试通过网址接收数据,但我有关于如何接收此网址的问题

localhost:8080/?action&p[4]=2&p[7]=5&p[12]=0&p[15]=1

我需要

的值
[2] = 4

2
and
4

2 个答案:

答案 0 :(得分:0)

下面的代码可以帮助您从URL(离线测试)中获取p变量的所有数据和[]中包含的数据:

<?php
$url = "localhost:8080/?action&p[4]=2&p[7]=5&p[12]=0&p[15]=1";

$arr = explode("&",$url);

foreach(array_slice($arr,1) as $key=>$value)
{

$valArr = explode("=",$value);

$valArr[0] = str_replace("p[","",$valArr[0]);
$valArr[0] = str_replace("]","",$valArr[0]);
echo "Value 1: ". $valArr[0];
echo "<br>";
echo "Value 2: ".$valArr[1];   
echo "<br>";
}

//  Below Output will come:
Value 1: 4
Value 2: 2
Value 1: 7
Value 2: 5
Value 1: 12
Value 2: 0
Value 1: 15
Value 2: 1

?>

您将获得所需的两个值,但请确保URL结构保持不变。

可能有更好的解决方案来解决您的问题,但我提供的问题也是正确的。

答案 1 :(得分:0)

PHP自动将param[key]=val&param[foo]=bar形式的查询字符串参数转换为关联数组:array (param => array (key => val, foo => bar))

使用您提供的网址,var_dump($_GET)会返回:

array (size=2)
  'action' => string '' (length=0)
  'p' => 
    array (size=4)
      4 => string '2' (length=1)
      7 => string '5' (length=1)
      12 => string '0' (length=1)
      15 => string '1' (length=1)

因此,您应该可以使用$_GET['p'][4]访问索引4处的字段。