初心者必見! 変数のスコープとは?

本日は「変数のスコープ」(有効範囲)についてご紹介していきます!

変数のスコープとは

定義した変数がどこまで利用が可能なのか?という有効範囲のことです。

また、変数にはスコープ(有効範囲)の異なる「グローバル変数」「ローカル変数」「スーパーグローバル変数」という3つの変数があります。
ではそれぞれどういったものなのかご紹介していきます!


1、ローカル変数
関数内で定義されたもので、その関数内でしか利用できない。

<?php

  function 関数名() {
    $local = "ローカル";    // ローカル変数
  }

?>


2、グローバル変数
関数の外で定義されたもので、スクリプト内のすべてで利用が可能。

<?php

  $global = "グローバル";   // グローバル変数

?>

もし関数内でグローバル変数を使いたい場合には下記のようにすれば使用可能です。

<?php

  // 関数の宣言
  function local() {

    $local = "Hello ";

    global $global;    // グローバル変数の参照宣言

    echo $local . $global;
  }

  $global = "World";
 
  local();   // 関数の呼び出し

?>

3、スーパーグローバル変数
いつでもどこでも使える変数のことで、あらかじめ定義されている変数のいくつかが該当します。

  • $GLOBALS

使用可能な変数の配列

  • $_SERVER

サーバーの環境情報の配列

  • $_GET

HTTPのGETメソッドで送信されたパラメータの配列

  • $_POST

HTTPのPOSTメソッドで送信されたパラメータの配列

ブラウザーから送信されたクッキー情報

  • $_SESSION

セッション情報の配列

  • $_FILES

HTTPのPOSTメソッドのファイル情報の配列

  • $_REQUEST

$_GET、$_POST、$_COOKIEをまとめた配列

  • $_ENV

環境変数の配列


最後に
本日は変数のスコープについてご紹介していきました。
いかがだったでしょうか?
変数のスコープは少し複雑なところですが、非常に大切なところなのでぜひ、マスターして行ってください!
最後までご覧いただきありがとうございました!