$_REQUEST を使用すると、投稿を直接判断してコードを取得する必要がなくなり、使いやすくなるのは誰でも知っていますが、詳しく考えると、$_REQUEST は怖すぎると感じます。以下の分析を参照してください。
フォーム データを処理するには、PHP の 2 つのスーパーグローバル変数 $_GET と $_POST を使用できることは誰もが知っています。これらの変数は、フォームの送信時にメソッドによって指定されます。さらに、PHP は $_REQUEST 配列も提供します。ただし、$_GET と $_POST のすべてのデータ要素が含まれるだけでなく、スーパーグローバル配列 $_COOKIE のすべてのデータ要素も含まれます。
しかし、考えたことはありますか。これら 3 つの配列のキーが同じである場合、$_REQUEST を使用してどの配列値を取得すればよいでしょうか?何か問題はありますか?
問題を説明するために次のコードを使用します。ここでは $_COOKIE を設定しません。自分で処理してください。
コードをコピー | |
同じ内容ですが、$_REQUEST で POST の値が GET の値を上書きします。何が起こっているのでしょうか?
実際、これは PHP 設定ファイルで設定されています。php.ini 設定ファイルの 466 行目に次の内容があります。
コードは次のとおりです
; このディレクティブは、PHP が GET、POST、Cookie を登録する順序を記述します。 ; 環境変数と組み込み変数 (それぞれ G、P、C、E、S) ; EGPCS または GPC と呼ばれます) 登録は左から右に行われます | |
|
$_REQUEST[] には $_POST[] $_GET[] の機能がありますが、$_REQUEST[] の方が遅いです。 post メソッドと get メソッドを通じて送信されたすべてのデータは、$_REQUEST 配列を通じて取得できます
true