スコープ

変数

スコープとは?

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


グローバル変数

ローカル変数

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



週間人気ページランキング / 8-21 → 8-27
順位 ページタイトル抜粋 アクセス数
1 PHPで定数を定義する方法は2種類ある / 配列定数の定義 6
2 ブラウザを閉じたらセッションデータはどうなるの? | セッション 4
2 対応例1.メモリ不足なので、PHPの最大使用メモリを増加するよう変更 4
3 http_build_queryとは? / 構文 /パラメータ 3
3 Fatal error: Access level to ▲::$△ must be protected (as in class ●) or weaker | Fatal error(エラーメッセージ) 3
3 定数 3
4 session.hash_function | セッション 2
4 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 2
4 「include_once」で「An error occurred.」と表示される場合の原因は、大きく分けると 2 種類あります。 | エラーメッセージ 2
4 htmlspecialchars / htmlentities / addslashes / mysql_real_escape_string / mysqli_real_escape_string | セキュリティ 2
4 Fatal error: require_once(): Failed opening required 'PEAR.php' | Fatal error(エラーメッセージ) 2
4 dirname() / (__FILE__ ) / basename( dirname( __FILE__ ) ); | 関数 2
4 PHPにおけるメソッドのオーバーライドについて /「引数の数や型は、親クラスのメソッドと完全に一致していなければなりません。」とは具体的にどういう意味ですか? 2
5 spliceImageメソッド | Imagickクラス 1
5 エラー | 例外処理(制御構造) 1
5 Parse error: syntax error, unexpected T_REQUIRE_ONCE, expecting T_FUNCTION | Parse error(エラーメッセージ) 1
5 リファレンスを返す | リファレンス 1
5 セッション・ハイジャック | セキュリティ 1
5 エラーメッセージ / エラー原因 / エラー対応 1
5 Composer | 依存関係マネージャ 1
2025/8/28 1:01 更新