phpのglobalキーワードとは?

huruhurupyotr 27views 更新:2017年1月5日

phpにはglobalキーワードというものがあります。phpstormだとtrueやfalseと同じオレンジ色の太字で表示されます。
変数にはグローバル変数とローカル変数という二種類があります。関数の中で使われた変数は、基本的にローカル変数となります。つまり、その関数の中でしか有効でないということです。  <br> 逆に、グローバル変数を関数内で参照することも、そのままではできません。以下はその例です。

<?php
$a = 1; /* グローバルスコープ */ 

function test()
{ 
    echo $a; /* ローカルスコープ変数の参照 */ 
} 

test();
?>

1行目の$aは、関数の外で宣言されているのでグローバルスコープの変数(=グローバル変数)になります。それを関数の中で参照しようとしたのですが、残念ながらこれだとなにも出力されないようです。
ではどうすればよいかというと、globalキーワードをつければいいわけです。以下はその例です。

<?php
$a = 1;
$b = 2;

function Sum() 
{
    global $a, $b;

    $b = $a + $b;
} 

Sum();
echo $b;
?>

今回は$aと$bの足し算ですが、関数の冒頭で「global $a, $b;」という記述があります。この最初にくっついているglobalがglobalキーワードと呼ばれるものです。これによって、関数の外にあるグローバル関数を参照することが可能になるわけです。

参考:http://php.net/manual/ja/language.variables.scope.php

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません