スコープ

変数

スコープとは?

 状態:未整理  閲覧数:7,787  投稿日: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


グローバル変数

ローカル変数

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



週間人気ページランキング / 3-22 → 3-28
順位 ページタイトル抜粋 アクセス数
1 コード例 … 「例外処理」はネストすることができる 9
2 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 8
2 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 8
2 ブラウザを閉じたらセッションデータはどうなるの? | セッション 8
3 Fatal error: Access level to ▲::$△ must be protected (as in class ●) or weaker | Fatal error(エラーメッセージ) 7
4 PHPで定数を定義する方法は2種類ある / 配列定数の定義 6
4 curl で Cookie を使用する 6
5 Fatal error: Call to undefined method MDB2_Error::execute() in ○○ on line △△ | Fatal error(エラーメッセージ) 5
6 Warning: PDO::query(): LOAD DATA LOCAL INFILE forbidden | Warning(エラーメッセージ) 4
7 スコープ | 変数 3
8 ( ! ) Fatal error: Uncaught PDOException: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column | Fatal error(エラーメッセージ) 2
8 Trying to get property of non-object  | Notice(エラーメッセージ) 2
8 定数 2
8 PHPにおけるメソッドのオーバーライドについて /「引数の数や型は、親クラスのメソッドと完全に一致していなければなりません。」とは具体的にどういう意味ですか? 2
8 ガベージコレクション | 機能 2
8 Warning: include() [function.include]: Failed opening '**.php' for inclusion (in | Warning(エラーメッセージ) 2
8 Warning: strlen() expects parameter 1 to be string, array given in ○○.php on line △△ | Warning(エラーメッセージ) 2
8 Fatal error: Uncaught Wrench\Exception\HandshakeException: No accept header receieved on handshake response in ★★★ headless-chromium-php/vendor/wrench/wrench/lib/Wrench/Protocol/Protocol.php | エラーメッセージ 2
8 Composer | 依存関係マネージャ 2
8 PHP用語 2
2024/3/29 1:01 更新