PHP の 4 つの変数スコープの比較

怪我咯
リリース: 2023-03-10 20:24:02
オリジナル
2128 人が閲覧しました

PHP は比較的緩い言語 (Loosely Typed Language) であり、変数 を宣言するときに、変数の型 (型) を指定する必要はありません。PHP は、割り当てられた値に基づいて変数の型を自動的に決定します。変数に。変数を宣言するときに型を指定する必要はありませんが、変数のスコープを指定する必要があることが 1 つあります。 PHP には、ローカル、グローバル、static、パラメーターの 4 つの異なる使用範囲があります。これらについては、以下で個別に紹介します。

ローカル変数(ローカル変数)
関数内で宣言され、宣言された関数(ローカルスコープ)内でのみ使用できます。同じ名前のローカル変数を異なる関数で宣言できます。
変数関数の宣言終了時には、ローカル変数は無効になります
宣言時にキーワードを使用する必要はありません
$a = 5; //グローバル変数
functionmyTest()
{echo $a;ローカル変数}
myTest();
上記の例では、$a には関数内で値が指定されていないため、何も入力されません。

グローバル変数(グローバル変数)
関数の外で宣言すると、関数内のスクリプトからアクセスできないことを除き、Webページ全体のスクリプトから変数にアクセスできます(グローバルスコープ)。関数でグローバル変数を使用するには、キーワード global を使用する必要があります。以下の例を参照してください:
Web ページが閉じているときはグローバル変数は機能しません

$a = 5;
$b = 10;
functionmyTest()
{
global $a,$b;//注意这行
$b = $a +$b;
}
myTest();
echo $b;
ログイン後にコピー

上記の例の出力は 15 です。
グローバル変数が宣言されると、PHP はその変数を 配列 $GLOBALS[index] に配置します。ここで、index は変数の名前です。関数からこの配列にアクセスすることも、配列内の要素に値を直接代入してその値を変更することもできます。上記の例を次のように書き換えます:

$a = 5;
$b = 10;
functionmyTest()
{
$GLOBALS['b']= $GLOBALS['a'] + $GLOBALS['b'];
}
myTest();
echo $b;
ログイン後にコピー

staticvariable (静的変数)
前述したように、ローカル変数は関数が終了すると何の効果もありません。ただし、関数の終了時にローカル変数が無効にならないようにしたい場合は、ローカル変数を初めて宣言する前にキーワード --static を追加できます。
static$rememberMe;
こうすると、関数が呼び出されるたびに、この変数には最後に関数が呼び出されたときに取得された値が含まれます。
静的変数は依然としてローカル変数であることに注意してください。
パラメータ(パラメータ、引数)
パラメータとは、関数呼び出し時に渡されるローカル変数のことを指します。関数宣言時にパラメータリスト(パラメータリスト)で宣言されます。
functionmyTest($para1,$para2,...)//括弧内で宣言
{//関数ソースプログラム}


以上がPHP の 4 つの変数スコープの比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート