2014年07月10日


PHP : 関数への参照渡しと global キーワードでの変数宣言( または$GLOBALS の利用 )

PHP では関数の引数は「値渡し」なので、関数内の引数の変数はコピーされたもので、その内容を変更しても外の変数の内容が変更される事はありません。また、仮に外と同じ名前の変数を関数内部で参照しても、それはローカルのみ有効な別の変数となります。

そこで、PHP では外部の変数を直接参照する方法として参照渡しと global キーワードによる外部の変数の参照方法という手段があります。

※ ▼ PHP ドキュメントに以下のような記述があります
例2 globalのかわりに$GLOBALSを使用する
<?php
// ************************
// 定義で参照渡し
// ************************
function plus( &$a, $b ) {

	$a += $b;
}

$x = 10;
plus($x,5);

print $x;
print "<hr>";

// ************************
// global キーワード
// ************************
function plus3() {

	global $z;

	$z[0] += $z[1];
}

$z = array(10,5);
plus3();

print_r( $z );
print "<hr>";

// ************************
// $GLOBALS(スーパーグローバル)
// ************************
function plus4() {

	global $z;

	$GLOBALS['z'][0] += $GLOBALS['z'][1];
}

$z = array(10,5);
plus4();

print_r( $z );
print "<hr>";


?>




タグ:PHP 変数
posted by at 00:41 | Comment(0) | PHP | このブログの読者になる | 更新情報をチェックする


この記事へのコメント
コメントを書く
お名前:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。