k01ken’s b10g

He110 W0r1d!

PHPで関数内部でグローバル変数を使いたい

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+PHP 7.1.7。

以下は、hoge関数内部で、変数$aを表示させることを期待しているのですが、

<?php
$a = "test";

function hoge(){
	echo $a;
}

hoge();
?>

これを実行すると、Notice: Undefined variableと表示されます。グローバル変数の$aを関数内部で使うには、関数内部で、変数$aを以下のようにすることで、用いることができます。

<?php

$a = "test";

function hoge(){
	global $a;
	echo $a;
}

hoge();

?>

関数内部で、使いたい変数の前にglobalをつけて、宣言することで使えるようになります。

参考リンク
PHP: 変数のスコープ - Manual