我们该怎么做才能获取多个$ _GET值

时间:2013-03-28 15:34:03

标签: php forms loops get

如果get(方法)表单的输出是这样的:

test.php?test=hi&test=how&test=why&test=where

我们如何通过循环或任何其他PHP代码一次获取所有这些值。

2 个答案:

答案 0 :(得分:0)

在显示的示例中,只会显示$_GET['test']的单个值。这是因为参数名称必须是唯一的。但是,如果您想要一组test值,可以使用这样的URI:

test.php?test[]=hi&test[]=how&test[]=why&test[]=where

请注意[]中的数组符号test[]

这将构建一个“test”数组,以便$_GET['test'])存储一组这样的值:

Array(
    0 => 'hi',
    1 => 'how',
    2 => 'why',
    3 => 'where'
)

答案 1 :(得分:0)

在这种情况下你必须自己进行解析:

$qs = $_SERVER['QUERY_STRING'];
$items = array();

foreach (explode('&', $qs) as $pair) {
    $args = explode('=', $pair, 2);

    if (!isset($args[1])) {
        $args[1] = '';
    }

    $items[$args[0]][] = $args[1];
}

如果您可以使用此查询字符串,这将简单得多:

test.php?test[]=hi&test[]=how&test[]=why&test[]=where

在这种情况下,您可以直接使用$_GET