PHP 開発の基本チュートリアルの変數(shù)
変數(shù)は情報を保存するために使用される「コンテナ」です:
以下の例を參照してください
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <?php $x=5; $y=6; $z=$x+$y; echo $z; ?> </body> </html>
1. 代數(shù)
x=5
y=6
z= × + y
代數(shù)では、値(5など)を保持するために文字(xなど)を使用します。
上記の式 z=x+y から、z の値は 11 であると計算できます。
PHPでは、これらの3文字を変數(shù)と呼びます。
注: 変數(shù)はデータを保存するためのコンテナーと考え??てください。
2. PHP 変數(shù)
代數(shù)と同じように、PHP 変數(shù)は値 (x=5) と式 (z=x+y) を保存するために使用できます。
変數(shù)名は短くすることも (x や y など)、より説明的なもの (number、total_volume など) にすることもできます。
3. PHP 変數(shù)のルール
変數(shù)は $ 記號で始まり、その後に変數(shù)名が続きます
変數(shù)名は文字またはアンダースコアで始める必要があります
數(shù)字で始めてください
変數(shù)名には英數(shù)字とアンダースコア(A-z、0-9、_)のみを含めることができます
変數(shù)名は大文字と小文字が區(qū)別されます($yと$Yは2つの異なる変數(shù)です)
注: PHP 変數(shù)名では大文字と小文字が區(qū)別されます。
例:
<?php //site = 'Hello'; // 非法變量名;以數(shù)字開頭 $_4site = 'World'; // 合法變量名;以下劃線開頭 $i小明is = 'haha'; // 合法變量名;可以用中文 ?>
4. PHP変數(shù)を作成する
PHP 変數(shù)を宣言するコマンドはありません。
最初に値を割り當てると、変數(shù)が作成されます:
<?php $txt="Hello world!"; $x=5; $y=10.5; ?>
上記のステートメントの実行では、変數(shù) txt は値 Hello world! を保持し、変數(shù) x は値 5 を保持します。
注: テキスト値を変數(shù)に割り當てるときは、テキスト値を引用符で囲んでください。
5. PHP は緩やかに型付けされた言語です
上の例では、変數(shù)のデータ型を PHP に宣言する必要がないことがわかりました。
PHP は、変數(shù)をその値に基づいて正しいデータ型に自動的に変換します。
厳密に型指定されたプログラミング言語では、使用する前に変數(shù)の型と名前を宣言 (定義) する必要があります。
6. PHP 変數(shù)のスコープ (初心者には詳細には觸れず、一時的に理解することをお勧めします)
変數(shù)のスコープは、変數(shù)を參照/使用できるスクリプトの部分です。
PHP には 4 つの異なる変數(shù)スコープがあります:
local
global
static
パラメータ
1. ローカルスコープとグローバルスコープ
at all 外部で定義された変數(shù)関數(shù)にはグローバルスコープがあります。関數(shù)に加えて、スクリプトのどの部分からもグローバル変數(shù)にアクセスできます。関數(shù)內(nèi)のグローバル変數(shù)にアクセスするには、global キーワードを使用する必要があります。
PHP 関數(shù)內(nèi)で宣言された変數(shù)はローカル変數(shù)であり、関數(shù)內(nèi)でのみアクセスできます:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <?php $x=5; // 全局變量 function myTest() { $y=10; // 局部變量 echo "<p>測試函數(shù)內(nèi)變量:<p>"; echo "變量 x 為: $x"; echo "<br>"; echo "變量 y 為: $y"; } myTest(); echo "<p>測試函數(shù)外變量:<p>"; echo "變量 x 為: $x"; echo "<br>"; echo "變量 y 為: $y"; ?> </body> </html>
2.PHP グローバル キーワード
グローバル キーワードは、関數(shù)內(nèi)のグローバル変數(shù)にアクセスするために使用されます。
関數(shù)の外で定義されたグローバル変數(shù)を関數(shù)內(nèi)で呼び出すには、関數(shù)內(nèi)の変數(shù)の前に global キーワードを追加する必要があります:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <?php $x=5; $y=6; function test(){ global $x,$y; $y=$x+$y; } test(); echo $y; ?> </body> </html>
注: global を削除すると、その効果を確認できます
-
PHP は、すべてのグローバル変數(shù)を $GLOBALS[index] という配列に保存します。インデックスは変數(shù)の名前を保持します。この配列は関數(shù)內(nèi)でアクセスすることも、グローバル変數(shù)を更新するために直接使用することもできます。
上記の例は次のように書くことができます:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <?php $x=5; $y=6; function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } myTest(); myTest(); myTest(); myTest(); echo $y; ?> </body> </html>
注: 2 つのメソッドの実際の効果は同じです
3.PHP 靜的キーワード
関數(shù)が完了すると、そのすべての変數(shù)が通常は削除されます。ただし、ローカル変數(shù)を削除したくない場合もあります。
これを行うには、最初に変數(shù)を宣言するときに static キーワードを使用します:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <?php function myTest() { static $x=0; echo $x; $x++; } myTest(); myTest(); myTest(); ?> </body> </html>
注: global 內(nèi)のコンテンツも同様に破棄されますか? ? ?
4. パラメータのスコープ
パラメータは、呼び出しコードを通じて関數(shù)に値を渡すローカル変數(shù)です。
パラメータは、関數(shù)宣言の一部としてパラメータリストで宣言されます:
詳細については、PHP関數(shù)の章を參照してください
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <?php function test($x) { echo $x; } test(2016); ?> </body> </html>
7. 変數(shù)変數(shù)
変數(shù)変數(shù)本質(zhì)は、宣言された変數(shù)の前に $ 記號を追加することです
最初に $x を設(shè)定します
<?php $x= 'hello'; $$x='xiao ming'; echo "$x ${$x}"; ?>
上記のコードは次のように書くこともできます:
<?php $x= 'hello'; $hello='xiao ming'; echo "$x $hello"; ?>
例は同等です
注: 変數(shù)変數(shù)は配列で使用されるため、あいまいな問題を解決する必要があります。これは、$$a[1] を記述するときに、パーサーは $a[1] を変數(shù)として必要とするか、または $$a を変數(shù)として必要としてインデックス [1] 値を持つ変數(shù)を抽出するかを知る必要があります。この問題を解決する構(gòu)文は、最初のケースには ${$a[1]} を使用し、2 番目のケースには ${$a}[1] を使用します。
學(xué)習(xí)體験:
変數(shù)の概念の理解、変數(shù)は情報の入れ物です
変數(shù)の4つのスコープのスコープと違い