スコープ

変数

スコープとは?

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


グローバル変数

ローカル変数

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



週間人気ページランキング / 12-26 → 1-1
順位 ページタイトル抜粋 アクセス数
1 Notice(エラーメッセージ) カテゴリー 3
1 foreach文 | 制御構造 3
2 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 2
2 Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting | エラーメッセージ 2
2 http_build_query | URLs(関数) 2
2 or(||) | 演算子 2
2 No route found fo | エラーメッセージ 2
2 and | 演算子 2
2 PHPで定数を定義する方法は2種類ある / 配列定数の定義 2
3 Fatal error: Call to undefined method MDB2_Error::execute() in ○○ on line △△ | Fatal error(エラーメッセージ) 1
3 PHPにおけるメソッドのオーバーライドについて /「引数の数や型は、親クラスのメソッドと完全に一致していなければなりません。」とは具体的にどういう意味ですか? 1
3 Fatal error: Call-time pass-by-reference has been removed in ★★.php on line △△ | 削除された機能 1
3 new clone違い | 演算子 1
3 Fatal error: Uncaught Error: Class 'Mecab_Tagger' not found in /var/www/★★.php:☆☆ | Fatal error(エラーメッセージ) 1
3 preg_match | 正規表現(テキスト処理) 1
3 ( ! ) Warning: file_put_contents(/a/b.jpg): failed to open stream: No such file or directory in | エラーメッセージ 1
3 問題発生 / 現在(2019/9/9時点)の設定確認 / 新たなエラーメッセージ 1
3 Fatal error: Cannot access protected property ○○ in △△ on □□ | Fatal error(エラーメッセージ) 1
3 Warning: htmlspecialchars() expects parameter 1 to be string, array given in ○○.php on line △△ | Warning(エラーメッセージ) 1
3 Warning: session_write_close(): Failed to write session data (user) | Warning(エラーメッセージ) 1
2026/1/2 1:02 更新