スコープ
プログラミングでのスコープとは、ある変数や関数が特定の名前で参照される範囲のこと。 ある範囲の外に置いた変数等は、通常、その名前だけでは参照できない。 このときこれらの変数はスコープ外である、「見えない」といわれる。
スコープ – Wikipedia
https://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97
コードサンプル
<?php
echo sayHello();
echo $hour;
function sayHello()
{
$hour = date("H");
if (5 <= $hour && $hour <= 10) {
return "Good Moning!";
}
return "Hey Guys!";
}
関数sayHello()を呼び出すと、実行委時間によってあいさつの内容が変化します。
5時から10時までは”Good Moning!”。
それ以外の時間は”Hey Guys!”。
この関数はあいさつ文言だけの返却し、その判断基準となる「今何時?」の数値は返却しません。
変数$hourはsayHello()の中でのみ有効であって、関数の外では定義されていません。
これがスコープです。
3行目echo $hour;
は定義されていない変数の参照のため、PHP Noticeが発生します。
関数の外でも、関数内の変数にアクセスできるとなると、、、
覚えていることがたくさんありすぎて、あっという間に頭がパンクしてしまいますね!
おまとめ
- スコープとは、変数、関数にアクセスできる範囲
- 小さいスコープでは変数名も短くすると吉