Scope - PHPプロ!用語集

用語集

Glossary

【同】 スコープ

解説

変数にアクセスできる範囲のこと。通常、メソッド(関数)内からメソッド(関数)外で定義された変数にはアクセスできないし、メソッド(関数)外からメソッド(関数)内で定義された変数にはアクセスできないようになっている。 メソッド(関数)内からメソッド(関数)外の変数にアクセスしたい時は、引数で渡すか、グローバル変数にして使う。

例) <?php $str = '文字列'; $str2 = '文字列2'; $str3 = '文字列3'; function getStr() {

 echo $str;

} function getStr2(){

 global $str2;
 echo $str2;

} getStr(); getStr2(); ?>

このプログラムを実行すると、「文字列2」とだけ出力される。 変数の宣言時にglobalを加えて宣言すると、その変数はグローバル変数となり、メソッド(関数)外の変数を参照できるようになる。 参照なので、メソッド(関数)内で値を書き換えるとメソッド(関数)終了後も変更した値が保持される。

例) <?php $str = '書き換えテスト'; function changeStr() {

 global $str;
 $str = '書き換え成功';

}

changeStr(); echo $str; ?> このプログラムを実行すると、「書き換え成功」と表示される。

関連サイト

関連用語

  • グローバル変数
  • スーパーグローバル変数

用語集メニュー

Glossary Menu



Pick Up Q&A

Q
array_mergeの再帰処理の動作について
 このエントリーをはてなブックマークに追加 
A
>1個になったとき$leftを返しますが、 >このとき、最終的な$leftはnullになるかと思います。 いいえ、最後は「渡された配列をそのまま」返します。要素が2以上あるときとの違いは(並べ替えずに戻るので...

>>続きを読む

再帰関数は最初の内は混乱しますが、非常に上手く使える場面もいずれ出てきます。これを機会に学んでいけるといいですね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)