0

get(メソッド) フォームの出力が次のような場合:

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

ループやその他の PHP コードを使用して、これらすべての値を一度に取得するにはどうすればよいでしょうか。

4

2 に答える 2

0

示されている例では、単一の値のみ$_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 に答える