スコープ

変数

スコープとは?

 状態:未整理  閲覧数:7,886  投稿日:2010-04-23  更新日:2016-01-03  
変数を参照することが出来る範囲

・関数外で定義された変数「グローバル変数」-「グローバルスコープ」に存在。
・関数内で定義された変数「ローカル変数」-「ローカルスコープ」に存在(変数の参照範囲は制限されている)。

■関数内で関数外の変数(グローバル変数)を参照する方法
▼1.関数内で「修正子global」を利用。変数をグローバル変数として宣言することにより、参照可能となる
▼2.「スーパーグローバル変数(PHP側で自動的に定義されるハッシュ)$GLOBALS[" グローバル変数名]」で参照

また、「修正子global」で宣言する際、「,(コンマ)」で区切って複数の変数を同時に宣言することも出来る。
また、元々グローバルに存在しない変数を宣言して、その関数がコール(実行)された時点で定義させることも出来る。


   $red = 100;//「変数$red」を定義して100を代入
   $blue = 150;
   $yellow = 5000;

   function test(){//「関数test()」を定義
       global $red,$black;
       $red = 200;
       $GLOBALS["blue] = 250;
       $yellow = 300;      
       $green = 900000;
   }
   
   echo test();//「関数test()」を実行し、その返り値を出力
   echo "
";//「
」を出力
   echo $red;//「変数$red」の値を出力
   echo "
";//「
」を出力
   echo $blue;//「変数$blue」の値を出力
   echo "
";//「
」を出力
   echo $yellow;//「変数$yellow」の値を出力
   echo "
";//「
」を出力
   echo $green;//「変数$green」の値を出力

▼結果
  /demo/global_test.html


グローバル変数

ローカル変数

コメント投稿(ログインが必要)



週間人気ページランキング / 5-21 → 5-27
順位 ページタイトル抜粋 アクセス数
1 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 12
2 ブラウザを閉じたらセッションデータはどうなるの? | セッション 6
3 PHPで定数を定義する方法は2種類ある / 配列定数の定義 5
3 コード例 … 「例外処理」はネストすることができる 5
3 ブラウザを閉じたらセッションデータはどうなるの? | セッション 5
4 or(||) | 演算子 4
4 Fatal error: Uncaught RuntimeException: SplFileObject::__construct(): failed to open stream: Permission denied in | Fatal error(エラーメッセージ) 4
4 ガベージコレクション | 機能 4
4 セッション名 | セッション 4
4 正規表現 | テキスト処理 4
5 セッション 3
5 curl で Cookie を使用する 3
5 Fatal error: Uncaught Error: Call to a member function modify() on string | Fatal error(エラーメッセージ) 3
5 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 3
5 Fatal error: Access level to ▲::$△ must be protected (as in class ●) or weaker | Fatal error(エラーメッセージ) 3
5 PHP用語 3
6 session_start() | セッション 2
6 インポートするデータを受信できませんでした。ファイル名が送信されていないか、ファイルサイズが PHP の設定で許可された最大値を超えています。FAQ 1.16 をご覧ください | エラーメッセージ 2
6 セッションIDを(共有するために)受渡す方法は3種類ある / 方法A.Cookieへ書き込んで渡す / 方法B.URLパラメータとして付与 / 方法C.hiddenで送信 2
6 Warning: strlen() expects parameter 1 to be string, array given in ○○.php on line △△ | Warning(エラーメッセージ) 2
2024/5/28 1:01 更新