我有这样的GET请求:
http://localhost/mysite/index.php?fg=1&fg=3&fg=16&fg=54&fg=64&s=1
我希望提取fg
标识符的所有值。
所以结果应该是这样的:
array(
[0] => "1",
[1] => "3",
[2] => "16",
[3] => "54,
[4] => "64",
)
我尝试使用
$_GET['fg']
但$ _GET是变量的关联数组,因此它只包含一个由fg
索引的元素。
那么我对如何获得fg
个标识符的所有值有任何想法?
答案 0 :(得分:2)
您需要将fg
放入数组中。不要执行fg=1
,请尝试:fg[]=1
。 []
将其转换为数组。
http://localhost/mysite/index.php?fg[]=1&fg[]=3&fg[]=16&fg[]=54&fg[]=64&s=1
如果你这样做,那么$_GET['fg']
就是一个数组。
答案 1 :(得分:2)
我建议您将URL /查询字符串更改为数组格式:
http://localhost/mysite/index.php?fg[]=1&fg[]=3&fg[]=16&fg[]=54&fg[]=64&s=1
这样,当您访问$_GET['fg']
时,它就是一个数组,您可以这样访问它:
foreach ($_GET['fg'] as $fg) {
// whatever
}
但是,如果你不采用这种方法,你可以通过explode()
:
$fg = array();
$parts = explode('&', $_SERVER['QUERY_STRING']);
foreach ($parts as $part) {
list($key, $value) = explode('=', $part);
if ($key == 'fg') {
$fg[] = $value;
}
}
// now $fg contains all individual values =]
Codepad Example第二个样本