PHP でグローバル変数を宣言する

Subodh Poudel 2023年1月30日
  1. PHP のローカルスコープで global キーワードを使用してグローバル変数を宣言する
  2. PHP のローカルスコープで $GLOBALS スーパーグローバル変数を使用してグローバル変数を使用する
  3. PHP で define() 関数を使用して定数グローバル変数を定義する
PHP でグローバル変数を宣言する

global キーワードを使用して PHP でグローバル変数を宣言するメソッドを紹介します。このメソッドは、関数の外部で宣言された変数のグローバルスコープをローカルスコープに設定して、関数の内部で変数を使用します。

この記事では、$GLOBALS スーパーグローバル変数を使用して PHP でグローバル変数を宣言する別の方法を示します。このメソッドは、スーパーグローバル変数を使用して、ローカルスコープのグローバル変数にアクセスします。

また、define() 関数を使用して PHP でグローバル変数を宣言する別のメソッドを示します。このメソッドは、PHP で定数グローバル変数を宣言する方法です。定数の値を変更することはできません。

PHP のローカルスコープで global キーワードを使用してグローバル変数を宣言する

global キーワードを使用して、PHP のローカルスコープでグローバル変数を宣言できます。global キーワードは、グローバルスコープをローカルスコープの変数として設定します。関数の外部で変数を定義できます。関数内の変数にアクセスしようとすると、変数のグローバルスコープでは許可されません。したがって、変数を使用して関数内で global キーワードを使用できます。次に、関数内の変数にアクセスできます。

たとえば、変数 $crypto を作成し、それに Bitcoin を割り当てます。次に、関数 body() を作成します。関数内で、$crypto 変数の前に global キーワードを使用します。echo ステートメントを使用して $crypto 変数を出力し、文字列 is a top cryptocurrency. がドット演算子 . を使用して連結します。関数本体の外側で、body() 関数を呼び出します。

以下の例では、$crypto 変数のグローバルスコープを body() 関数内のローカルスコープにインポートします。したがって、関数内の $crypto 変数にアクセスできます。global キーワードを使用せずに変数を出力しようとすると、変数のローカルスコープが存在しないため、それを実行できません。スコープと global キーワードの詳細については、PHP マニュアルを確認してください。

サンプルコード:

#php 7.x
<?php
$crypto = 'Bitcoin';
function body(){
    global $crypto;
    echo $crypto." is a top cryptocurrency.";
}
body();
?>

出力:

Bitcoin is a top cryptocurrency.

PHP のローカルスコープで $GLOBALS スーパーグローバル変数を使用してグローバル変数を使用する

$GLOBALS スーパーグローバル変数を使用して、グローバルスコープ変数を参照できます。$GLOBALS 変数は、グローバルスコープで定義された変数の参照を含む連想配列です。$GLOBALS 括弧内に変数を記述して、グローバル変数を $GLOBALS["name"] として参照できます。このメソッドは、関数内にローカル変数とグローバル変数を出力しようとします。$GLOBALS スーパーグローバル変数を使用して、関数内のグローバルスコープ内の変数を参照します。

たとえば、変数 $var を作成し、文字列 global scope variable を割り当てます。関数 body() を記述し、関数内に同じ変数 $var を作成し、今回は文字列 local scope variable を割り当てます。まず、$var 変数を $GLOBALS 配列で $GLOBALS["var"] として参照します。次の行で、echo ステートメントを使用して $var 変数を出力します。

以下の例では、$var 変数を 2 回出力します。1つ目は、$GLOBALS["var"] 配列を使用し、その結果、関数の外部で定義されたグローバル変数を出力します。2 回目は、関数内の変数が表示されます。$GLOBALS スーパーグローバル変数の詳細については、PHP マニュアルを確認してください。

コード例:

#php 7.x
<?php
$var = "global scope variable";
function body() {
    $var = "local scope variable";
    echo '$var in global scope: ' . $GLOBALS["var"] . "<br>";
    echo '$var in current scope: ' . $var ;
}
body();
?>

出力:

$var in global scope: global scope variable 
$var in current scope: local scope variable

PHP で define() 関数を使用して定数グローバル変数を定義する

このメソッドは、define() 関数を使用して PHP でグローバル変数を定義します。この関数は 2つのパラメーターを取ります。最初のパラメーターは定数名で、2 番目のパラメーターは定数の値です。デフォルトでは、定数では大文字と小文字は区別されません。スクリプトのどこからでも定数にアクセスできます。定数を定義する際に $ 記号を使用することはありません。名前が示すように、その値は不変です。定数は、値として文字列と数値のみを保持できます。

たとえば、define() 関数を記述し、定数の名前を BAND、値を Opeth として指定します。関数 bandName() を作成し、echo ステートメントを使用して BAND 定数を表示します。関数の外で、関数 bandName() を呼び出します。スクリプトは値 Opeth を出力します。define() 関数の詳細については、PHP マニュアルを確認してください。

サンプルコード:

# php 7.x
<?php
define('BAND', 'Opeth');
function bandName()
{
    echo BAND;
}
bandName();
?>

出力:

Opeth
著者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

関連記事 - PHP Variable