前回、前々回に引き続いて変数について書きたいと思います。
今回は、定義済みの変数についてです。
定義済み変数と書くとjavaなどである予約語(プログラム毎に定義された変数名や関数名に使用できない名前)みたいなもののような気もしますがそうではありません。
定義済み変数は、スーパーグローバル変数といい「プログラムのどこからでも」使用可能な変数です。
どこからでも使えるのは、とても便利に思えますね。
さて、ここで気になるのが変数の中身です。定義済みというのですから何かしらのデータが入っている事は確かです。
スーパーグローバル変数は、下記の種類になります。
$GLOBALS — グローバルスコープ(変数がプログラムのどこからでも参照可能なこと)で使用可能なすべての変数への参照
$_SERVER — WEBサーバの情報および実行時の環境情報を取得する
$_GET — HTTPプロトコルのGET送信でフォームからスクリプトに送信される値を取得する。
$_POST — HTTPプロトコルのPOST送信でフォームからスクリプトに送信される値を取得する
$_FILES — フォームのHTTP POSTファイルアップロード送信でフォームからスクリプトに送信される値を取得する
$_REQUEST — HTTP リクエスト変数($_GET、$_POST、$FILE、$_COOKIE)を取得する
$_SESSION — セッション変数を取得する
$_ENV — 環境変数を取得する
$_COOKIE — HTTPクッキーでスクリプトに送信されるクッキーを取得する
といった感じになります。
自分は$_REQUEST や$_SESSIONなどを使った事がありますが、なかなか便利でしたね。
で、どうやって使うかといいますとスーパーグローバル変数は連想配列(キーの名前が文字列の配列)となっていて
ex) $_SERVER['キーの名前']
こんな感じで指定します。
各スーパーグローバル変数のキー名は下記URLを参照してください。
http://www.php.net/manual/ja/language.variables.superglobals.php
定義しなくても自動的に値を取得してくれているのは便利ですね。
こういった変数を使いこなせるよう自分も精進したいですね。