0 レビュー
1 回答
php-URLから同じ名前の複数の値を$ GETするにはどうすればよいですか?
メソッドをGETに設定してチェックボックスを使用してフォームを作成しました。
結果はexample.com/careers/?career_type=val1&career_type=val2
<?= $_GET['career_type']; ?>
これはval2のみを表示します。
両方の値を表示することは可能ですか?
わからない
0
レビュー
答え :
解決:
同じ名前の複数のパラメーターを持つことは完全に有効ですが、PHPはそれをうまく処理しません。 2つのオプションがあります。
配列を使用するようにURLを変更します(例:
example.com/careers/?career_type[]=va1&career_type[]=val2
。次に、$_GET['career_type']
がval1とval2を含む配列として返されます。フォームを使用してこのURLを生成している場合は、フィールドにname="career_type[]"
それが不可能な場合は、クエリ文字列を手動で解析できます。これは同じ効果があります:
$query = explode('&', $_SERVER['QUERY_STRING']);
$params = [];
foreach ($query as $param) {
[$name, $value] = explode('=', $param, 2);
$params[urldecode($name)][] = urldecode($value);
}
var_dump($params['career_type']);
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。