こんにちはフロントエンドエンジニアのまさにょんです!
今回は、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!
神聖グンマー帝国の逆襲🔥
神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!