PHP変數(shù)
変數(shù)は、情報を保存するために使用される「コンテナ」です:
誰もが中學(xué)生でした。先生はよくこんなことを教えてくれます。
すみません、クラスメートのリー?レイとハン?メイメイ、もし:
x = 5
y = 6
ならば、x + yは何に等しいですか?誰もが迷わず答えます。 x + y は 11 に等しい。
次に、次の中學(xué)數(shù)學(xué)の知識を見てみましょう。x + yの結(jié)果は何ですか?
x = 5
y = 6
x = 8
おそらく誰もが迷うことなく答えるでしょう:x + yの結(jié)果は14です。
これは変數(shù)です!
変數(shù)のいくつかの特性:
1 結(jié)果??は 14 に等しく、上から下への操作 (実行) 中に x を再代入できることを示します。
PHP変數(shù)
PHPの変數(shù)についても同様です。ただし、いくつかの
があります: 1.
$で始まる必要があります。たとえば、変數(shù) . 変數(shù)名は意味のあるものにする必要があります (xxx、aaa、ccc などの変數(shù)名は書かないでください) 6. $ はドル記號と呼ばれ、英語ではドルと呼ばれます。 PHP 変數(shù)はドル記號で始まる必要があります。 PHPをやる上での「お金」を示す図
PHP変數(shù)の作成(宣言)PHPには変數(shù)を宣言するコマンドがありません。
最初に値を割り當(dāng)てると、変數(shù)が作成されます:
<?php $txt="Hello world!"; $x=5; $y=10.5; ?>上記のステートメントの実行では、変數(shù) txt は値 Hello world! を保持し、変數(shù) x は値 5 を保持します。
注
: テキスト値を変數(shù)に割り當(dāng)てるときは、テキスト値を引用符で囲みます。
PHP は弱い型付け言語です
上の例では、変數(shù)のデータ型を PHP に宣言する必要がないことがわかりました。
PHP は、変數(shù)をその値に基づいて正しいデータ型に自動的に変換します。
厳密に型指定されたプログラミング言語では、使用する前に変數(shù)の型と名前を宣言 (定義) する必要があります。
PHP 変數(shù)のスコープ
変數(shù)のスコープは、変數(shù)を參照/使用できるスクリプトの部分です。
PHP には 4 つの異なる変數(shù)スコープがあります:
· local
global·
staticparameter
ローカルとグローバルのスコープ ローカルとグローバルのスコープ (ローカルglobal)
すべての関數(shù)の外で定義された変數(shù)はグローバル スコープを持ちます。関數(shù)に加えて、スクリプトのどの部分からもグローバル変數(shù)にアクセスできます。関數(shù)內(nèi)のグローバル変數(shù)にアクセスするには、global キーワードを使用する必要があります。
例
PHP関數(shù)內(nèi)で宣言された変數(shù)はローカル変數(shù)であり、関數(shù)內(nèi)でのみアクセスできます:
<?php header("Content-type:text/html;charset=utf-8"); $x=5; // 全局變量 function myTest() { $y=10; // 局部變量 echo "<p>測試函數(shù)內(nèi)變量:<p>"; echo "變量 x 為: $x"; //輸出錯誤 Notice: Undefined variable: echo "<br>"; echo "變量 y 為: $y"; } myTest(); echo "<p>測試函數(shù)外變量:<p>"; echo "變量 x 為: $x"; echo "<br>"; echo "變量 y 為: $y"; //輸出錯誤 Notice: Undefined variable:
上記の例では、myTest()関數(shù)は$xと$を定義しています。 y変數(shù)。 $x 変數(shù)は関數(shù)の外で宣言されているためグローバル変數(shù)であり、$y 変數(shù)は関數(shù)の內(nèi)部で宣言されているため
ローカル変數(shù)です。
myTest() 関數(shù)を呼び出して 2 つの変數(shù)の値を出力すると、関數(shù)はローカル変數(shù) $y の値を出力しますが、$x 変數(shù)が定義されているため、$x の値を出力できません內(nèi)部使用の場合、関數(shù)內(nèi)のグローバル変數(shù)にアクセスする場合は、global キーワードを使用する必要があります。
次に、myTest() 関數(shù)の外側(cè)に 2 つの変數(shù)の値を出力します。この関數(shù)はすべてのローカル変數(shù) $x の値を出力しますが、$y 変數(shù)はで定義されているため、$y の値を出力できません。関數(shù)
はローカル変數(shù)です。
注これらの関數(shù)で定義された変數(shù)名はローカル変數(shù)であり、その関數(shù)にのみ影響するため、異なる関數(shù)で同じ変數(shù)名を使用できます。
PHP グローバル キーワード
キーワードは、関數(shù)內(nèi)のグローバル変數(shù)にアクセスするために使用されます。
例関數(shù)の外で定義されたグローバル変數(shù)を関數(shù)內(nèi)で呼び出すには、関數(shù)內(nèi)の変數(shù)の前に global キーワードを追加する必要があります:
<?php $x=10; $y=20; function test(){ global $x,$y; //使用global關(guān)鍵字 $y=$x+$y; } test(); echo $y;//輸出30
PHP はすべてのグローバル変數(shù)を $GLOBALS[ というファイルに保存します配列內(nèi)のインデックス]。インデックスは変數(shù)の名前を保持します。この配列は関數(shù)內(nèi)でアクセスでき、グローバル変數(shù)を更新するために直接使用することもできます。
上の例は次のように書くことができます:
<?php $x=5; $y=10; function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } myTest(); echo $y; ?>
靜的スコープ
関數(shù)が完了すると、通常、その変數(shù)はすべて削除されます。ただし、ローカル変數(shù)を削除したくない場合もあります。
これを行うには、最初に変數(shù)を宣言するときに static キーワードを使用します:
<?php function myTest() { static $x=0; echo $x; $x++; } myTest(); myTest(); myTest(); myTest(); ?>その後、関數(shù)が呼び出されるたびに変數(shù)が永続化されます。関數(shù)が最後に呼び出されたときの値と呼ばれた。
注: この変數(shù)は依然として関數(shù)に対してローカルです。
パラメータスコープ
パラメータはローカル変數(shù)であり、その値は呼び出しコードを通じて関數(shù)に渡されます。 パラメータは関數(shù)宣言の一部としてパラメータリストで宣言されます: Example これについては、PHP 関數(shù)の章で詳しく説明します。 ?php
function myTest($x)
{
echo $x;
}
myTest(name);
?>