PHP タスク学習 2: 変数の範囲を認識する_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:40:12
オリジナル
800 人が閲覧しました

ローカル変数とグローバル変数

変数の存在にはライフサイクルがあります。それを小さな関数内に存在させることも、プログラム全体に存在させることもできます。通常の状況で宣言された変数の場合、ローカル変数と呼ばれます。ローカル変数は現在のプログラム セグメントにのみ存在できますが、$globals を使用して宣言された変数は、現在のページのプログラム全体で有効になります。

例:

クリップボードにコピーwww.bkjia.com Codes引用コンテンツ: [www.bkjia.com] リーリー

このプロセス中に、

2行目から3行目では、2つの変数aとbを作成し、それぞれ値1と2を割り当てます。

3 行目から 7 行目では、sum 内の変数 a と b を加算し、加算された値を b に代入する自己加算関数 sum() を定義します。

8 行目では sum 関数を呼び出しています。

9 行目では echo を使用して b の値を出力します。

このとき Web ページに出力される値は 3 であるはずだと思う人もいるかもしれませんが、実行してみると、値は b の元の値である 2 のままであることがわかります。これはローカル変数が原因で、2 行目から 3 行目で宣言された変数は sum() 関数では使用できません。つまり、sum 関数で使用される a と b は 2 行目から 3 行目の a と b と同じではありません。 3. 名前が同じであるだけで、互いに何の関係もありません。したがって、最終出力の b は、3 行目の b の値になります。

ただし、その場合は、プログラムを次のスタイルに変更します:

クリップボードにコピーbkjia.com Codes引用コンテンツ: [www.bkjia.com]

<?php <?php<br />
$a=1;<br>
$b=2;<br>
関数 sum()<br>
{<br>
グローバル $a,$b;<br>
$b=$a+$b;<br>
}<br>
合計();<br>
エコー $b;<br>
?><br>
<pre class="brush:php;toolbar:false"><br>
<br><br>
ログイン後にコピー

sum 関数では、変数 a と b にグローバル修飾子を追加しました。このとき、a と b は関数の外の a と b との関係を確立しており、それらは同じ変数であることがわかります。したがって、このプログラムを実行すると、結果は 3 になります。したがって、グローバル変数を宣言するときは、グローバル変数をローカルで使用するとき (この場合は関数 sum 内で) に修飾子 global を追加するだけで、外部値を継承できるようになり、ローカル変数ではなくなります。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/364493.html技術記事ローカル変数とグローバル変数 変数の存在にはライフサイクルがあります。小さな関数内に存在させることも、プログラム全体に存在させることもできます。一般的な状況については...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート