0

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

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

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

4

2 回答 2

0

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

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

请注意 中的数组表示[]test[]

这将构建一个“测试”数组,以便$_GET['test'])存储一个值数组,如下所示:

Array(
    0 => 'hi',
    1 => 'how',
    2 => 'why',
    3 => 'where'
)
于 2013-03-28T15:37:32.857 回答
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

于 2013-03-28T15:39:17.407 回答