【PHP入門】グローバル変数・定数の定義・宣言方法 | global、$GLOBALS、define()

php-global

こんにちはフロントエンドエンジニアのまさにょんです!

今回は、PHPのグローバル変数・定数の定義・宣言の3つの方法について解説していきます。

使用するのは、global、$GLOBALS、define() の3つです。

global キーワードを使用してグローバル変数を定義・宣言する

global キーワードを先頭に有する変数は、グローバル変数となります。

<?php

$robotama = 'ロボ玉';

function RobotamaCallOn () {

    // 1. global キーワードを使用して、グローバル変数にする! => どこからでも参照できるようになる!
    global $robotama;

    echo "{$robotama}は、グンマー帝国出身のロボロフスキーです"."\n";
}

RobotamaCallOn();
// < 実行結果 >
// ロボ玉は、グンマー帝国出身のロボロフスキーですf

$GLOBALS スーパーグローバル変数を使用してグローバル変数を使用する

$GLOBALSは、PHPの組み込み変数(スーパーグローバル変数)で、グローバル変数が連想配列の構造で格納されています。

<?php

$hakutou = 'Global-白桃';

function HakutouCallOn () {
    $hakutou = 'Local-白桃';

    // 1. $GLOBALS-変数(スーパーグローバル変数)を中継して、グローバル変数を参照する!
    echo $GLOBALS["hakutou"] . 'は、Globalな猫です'."\n";
    
    echo "{$hakutou}は、Localな猫です"."\n";
}

HakutouCallOn();
// < 実行結果 >
// Global-白桃は、Globalな猫です
// Local-白桃は、Localな猫です

define() 関数を使用して定数を定義する

define()は、定数を宣言するメソッドです。

define()で定義した定数は、必ずグローバルスコープになります。

<?php

// 1. define() で定数を定義できる => define(定数名, value) の形
define('MOMO', 'ももちゃん');

// 2. define()で定義した定数は、すべてグローバルスコープとなる。

function MomoCallOn () {
    
    // 3. 定数の参照は、「$」や クオーテーションなどを付けずに、そのまま記述する。
    echo MOMO . "は、Tokyo在住の可愛い猫です". "\n";
}

MomoCallOn();
// < 実行結果 >
// ももちゃんは、Tokyo在住の可愛い猫です

【おまけ】const キーワードで定数を定義する

constキーワードは、定数を定義する構文です。

constキーワードで定義した定数は、名前空間上に登録されます。

<?php

// 1. constキーワードで定数を定義する。
const ROBOTAMA1 = 'ロボ玉試作1号機';

function Robotama1CallOn () {
    
    echo ROBOTAMA1 . "は、ロボ玉開発計画でできたロボ玉です"."\n";
    // ロボ玉試作1号機は、ロボ玉開発計画でできたロボ玉です
}

Twitterやってます!Follow Me!

神聖グンマー帝国の逆襲🔥

神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!

PHP / Laravel書籍

参考・引用

  1. PHP でグローバル変数を宣言する
  2. PHP $GLOBALS(グローバル変数)のすべて!【初心者向け基本】
  3. PHPの「define」と「const」の違い

最近の投稿