PHPの$_REQUESTとは?スーパーグローバル変数の仕組みとrequest_order設定を解説
はじめに
PHPには、$_REQUESTというスーパーグローバル変数が用意されています。これは連想配列であり、デフォルトでは$_GET、$_POST、$_COOKIEの3つの変数の内容をまとめて格納するものです。
ただし、$_REQUESTの中身がどのように構成されるかは、設定ファイル「php.ini」の内容によって決まります。特に重要なのがrequest_orderディレクティブで、この設定によってGET、POST、COOKIEの各変数が登録される順序が制御されます。また、この配列に含まれる変数の有無や並び順は、PHPのvariables_order設定にも従います。
コマンドライン実行時の挙動
PHPスクリプトをコマンドラインから実行した場合、argcおよびargvの値は$_SERVER配列から取得されるため、これらの変数は$_REQUEST配列には含まれません。なお、$_SERVER自体はWebサーバーによって値が設定される配列です。
使用例
以下は、フォーム送信されたデータを$_REQUEST経由で受け取る簡単な例です。
<?php
// GET・POST・COOKIEのいずれかで渡された値を取得できる
$name = $_REQUEST['name'] ?? '';
echo 'こんにちは、' . htmlspecialchars($name) . 'さん';
?>注意点
$_REQUESTは複数の入力元を一括して扱える便利な変数ですが、データの出所(GETかPOSTかCOOKIEか)が判別しにくくなるため、セキュリティ面では注意が必要です。実務では、用途に応じて$_GETや$_POSTなど個別のスーパーグローバル変数を使うことが推奨されます。
-
PHPのarray_values()関数の使い方を徹底解説
array_values()関数は、PHPで配列に含まれるすべての値を取り出し、新しい配列として返すための組み込み関数です。キー(連想配列の文字列キーなど)は破棄され、0から始まる連番の数値キーが自動的に割り当てられます。 構文 array_values(array $array): array パラメータ arr ― 値を取得したい対象の配列を指定します。このパラメータは必須です。 戻り値 array_values()関数は、元の配列からすべての値を抽出した配列を返します。返される配列のキーは、元のキーに関係なく必ず0から始まる連続した整数になります。そのため、連想配列を通常のインデ
-
PHPのarray()関数とは?配列の作成方法をわかりやすく解説
PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に