我正在尝试通过网址接收数据,但我有关于如何接收此网址的问题
localhost:8080/?action&p[4]=2&p[7]=5&p[12]=0&p[15]=1
我需要
的值[2] = 4
2
and
4
答案 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¶m[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处的字段。