2014-12-03 108 views
0

我想通过URL来传递多个参数的数字是这样的:多个HTTP GET参数到数组

http://myserver.com/myscript.php?param=55311&param=352213&param=6214

(它可能会与其他的方式进行格式化,这是唯一的例子)

现在,如何将这些参数(数字)放入php代码中的数组?像这样:

$ param = array('55311','352213','6214');

+0

为什么不做这样的分隔符:http://myserver.com/myscript.php?param=55311_352213_6214然后爆炸它? – Daan 2014-12-03 09:12:13

+0

我很初学php,如何爆炸呢? – Mandriospo 2014-12-03 09:12:59

+0

'$ paramArr = explode('_',$ _GET ['param'])' – Daan 2014-12-03 09:14:07

回答

2

你可以使用/格式化你的URL这种方式,把它变成一个分组指数:

param[]=value 

所以这变成:

http://myserver.com/myscript.php?param[]=55311&param[]=352213&param[]=6214 

所以在PHP中,你可以对其进行处理至$_GET

if(isset($_GET['param'])) { 
    $param = $_GET['param']; // this in returns an array of those values 
} 
+0

早在我迷迷糊糊的时候,我记得被告知这种索引不是严格意义上的URL,尽管PHP似乎处理好了..?并且方括号应该被URL编码? – 2014-12-03 09:19:52

+1

@RobBaillie不,你不需要对它进行编码,只需把它们按原样放置:http://codepad.viper-7.com/Hq82rv?param[]=1¶m[]=2¶m[]=3 – Ghost 2014-12-03 09:23:50

+0

'?param [ ] = 55311&param [] = 352213&param [] = 6214'它看起来不太好,我认为这是更好的'?param = 55311_352213_6214',但无论如何谢谢! – Mandriospo 2014-12-03 13:27:17

0

有点晚,但c当然,我发现这个解决方案,可能对其他人有帮助。

?params['number1']=12345&params['name1']='Hello' 

在PHP中我得到这个..

if(isset($_GET['params'])) { 
    $params = (array) $_GET['params']; 
} 

使用此变量有点棘手。请使用两种字符串字符来查看这个数组索引“'number1'”。

echo $params["'number1'"] // => 12345 
echo $params["'name1'"] // => Hello 

但我得到了一个很好的记录数组项。