get(メソッド) フォームの出力が次のような場合:
test.php?test=hi&test=how&test=why&test=where
ループやその他の PHP コードを使用して、これらすべての値を一度に取得するにはどうすればよいでしょうか。
示されている例では、単一の値のみ$_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'
)
その場合、自分で解析を行う必要があります。
$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
直接使用できます。