{category}

PHP - 変数のスコープ

グローバル

グローバル(変数と定数

意味 どこからでもアクセス可能な変数


グローバルとは?

グローバル変数は、PHPスクリプト全体からアクセスできる変数です。関数の外部で定義され、プログラムのどの部分からでも使用できます。ただし、関数内で使用する場合は「global」キーワードが必要です。

グローバルの具体的な使い方

グローバル変数の使用例

// グローバル変数の定義
$global_counter = 0;

function increment_counter() {
    global $global_counter;
    $global_counter++;
    echo "カウンター: {$global_counter}\n";
}

function get_counter() {
    global $global_counter;
    return $global_counter;
}

// 関数を複数回呼び出してカウンターを増やす
increment_counter();
increment_counter();
increment_counter();

// 現在のカウンター値を取得して表示
$current_count = get_counter();
echo "現在のカウンター値: {$current_count}\n";

// $GLOBALSを使用してグローバル変数にアクセス
echo "\$GLOBALSを使用: {$GLOBALS['global_counter']}\n";

👇出力結果

カウンター: 1
カウンター: 2
カウンター: 3
現在のカウンター値: 3
$GLOBALSを使用: 3

この例では、$global_counterというグローバル変数を定義し、異なる関数内で「global」キーワードを使って参照しています。increment_counter()関数ではカウンターを増やし、get_counter()関数では現在の値を返します。また、$GLOBALS配列を使用してグローバル変数にアクセスする方法も示しています。

グローバルに関するよくある質問

Q. グローバル変数のデメリットは?
A. グローバル変数は、コードの可読性を下げ、予期せぬバグの原因になることがあります。また、関数の独立性を損なう可能性があります。
Q. 関数内でグローバル変数を使うには?
A. 関数内でグローバル変数を使用するには、'global'キーワードを使用するか、$GLOBALS配列を使用します。例:global $varName; または $GLOBALS['varName']
Q. グローバル変数の代替案は?
A. グローバル変数の代わりに、関数の引数や戻り値を使用したり、クラスのプロパティとして管理したりする方法があります。これにより、コードの結合度を下げ、テストや保守が容易になります。

グローバルが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのグローバルや$_FILES、$_GET、define()、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

$_FILES

アップロードファイル情報

種類: スーパーグローバル変数

$_GET

URLパラメータを取得する変数

種類: スーパーグローバル変数

define()

定数の定義

種類: 定数

オブザーバー

状態変化を監視して通知

種類: デザインパターン

debug_backtrace()

コールスタックを取得する関数

種類: デバッグ