2014-12-03 107 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 

但我得到了一個很好的記錄數組項。