第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)