PHP - ブロックと変数のスコープ
公開日:2020-12-22 更新日:2020-12-22
[PHP]
1. 説明
複数の処理を波括弧( { と } )で囲って、ブロックにすることができます。
後ほど出てくる構文などで使用します。
PHP の場合、単独で使用しても動作は変わりませんが、
他の言語では、ブロックの中で定義された変数は、ブロックの外からは参照できない場合があります。
そのため上記のプログラムの2つ目のブロックでは、変数 $a と $b が、スコープ外となるため、エラーになります。
PHP とは関係なくなりますが、
ブロックを入れ子にした場合、ブロックの外で定義された変数を、ブロックの中で参照することはできます。
後ほど出てくる構文などで使用します。
//初期化
{
$a = 1;
$b = 2;
}
//処理
{
var_dump($a);
var_dump($b);
}
実行結果int(1)
int(2)
PHP の場合、単独で使用しても動作は変わりませんが、
他の言語では、ブロックの中で定義された変数は、ブロックの外からは参照できない場合があります。
そのため上記のプログラムの2つ目のブロックでは、変数 $a と $b が、スコープ外となるため、エラーになります。
PHP とは関係なくなりますが、
ブロックを入れ子にした場合、ブロックの外で定義された変数を、ブロックの中で参照することはできます。
{
$a = 1;
$b = 2;
{
var_dump($a);
var_dump($b);
}
}