第8章 リクエスト情報 / 第3回 模擬試験
PHPの`$_GET`に関する次の記述のうち、正しいものはどれか。
`$_GET`のデータはURLのクエリ文字列(`?key=value`の形式)から取得される。
正解
`$_GET`はファイルアップロード専用のスーパーグローバル変数である。
`$_GET`で送信できるデータ量に上限は一切ない。
`$_GET`はHTTPレスポンスヘッダーの情報を保持する。
解説
`$_GET`は、URLのクエリ文字列(`https://example.com/page.php?key=value&...`の`?`以降の部分)から送信されたデータを保持するスーパーグローバル変数です。
他の選択肢が誤りである理由は次の通りです。
・ファイルアップロード専用の変数は`$_FILES`です。`$_GET`は通常のテキストデータ用です。
・URLの長さにはブラウザやWebサーバによる実用上の上限があるため、「上限は一切ない」は誤りです。大量のデータを送るのには向きません。
・HTTPレスポンスヘッダーの情報は`$_GET`ではなく、`header()`関数や`headers_list()`などで扱います。
例:
```
// GET /search.php?keyword=php&page=2
echo $_GET['keyword']; // php
echo $_GET['page']; // 2
```
(参照: 独習PHP 第4版 第8章 リクエスト情報 8.3節 クエリ情報 p.361〜367)