スコープ

変数

スコープとは?

 状態:未整理  閲覧数:8,190  投稿日: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-3 → 5-9
順位 ページタイトル抜粋 アクセス数
1 http_build_queryとは? / 構文 /パラメータ 4
2 Parse error: syntax error, unexpected end of file | Parse error(エラーメッセージ) 3
2 Warning: strlen() expects parameter 1 to be string, array given in ○○.php on line △△ | Warning(エラーメッセージ) 3
3 ブラウザを閉じたらセッションデータはどうなるの? | セッション 2
3 PHPにおけるメソッドのオーバーライドについて /「引数の数や型は、親クラスのメソッドと完全に一致していなければなりません。」とは具体的にどういう意味ですか? 2
3 Fatal error: require_once(): Failed opening required 'PEAR.php' | Fatal error(エラーメッセージ) 2
3 Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] Connection refused | Fatal error(エラーメッセージ) 2
3 エラーメッセージ 2
3 Fatal error: Uncaught Error: Call to a member function modify() on string | Fatal error(エラーメッセージ) 2
3 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 2
3 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in ○○.php on line △△ | Warning(エラーメッセージ) 2
3 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 2
4 実際に遭遇した例 1
4 session.cookie_lifetime / session.use_cookies | セッション 1
4 コード例 … 「例外処理」はネストすることができる 1
4 Fatal error: Uncaught Error: Class 'Stripe\Checkout\Session' not found | Fatal error(エラーメッセージ) 1
4 session_start() | セッション 1
4 デバッグ カテゴリー 1
4 「try~catch」「set_error_handler」を組み合わせるメリット 1
4 Fatal error: Access level to ▲::$△ must be protected (as in class ●) or weaker | Fatal error(エラーメッセージ) 1
2025/5/10 1:01 更新