変数は、情報を保存するために使用される「コンテナ」です。
<?php $ x = 5 ; $ z = $ x + $ y ; $ z ;
x=5y=6z=x+y
代数では、文字 (x など) を受け取り、それに値 (5 など) を割り当てます。
上記の式 z=x+y から、z の値は 11 であると計算できます。
PHP では、これらの文字は変数と呼ばれます。
変数はデータを保存するために使用されるコンテナです。 |
代数と同様に、PHP 変数には値 (x=5) または式 (z=x+y) を割り当てることができます。
変数には、非常に短い名前 (x や y など) またはよりわかりやすい名前 (年齢、車名、合計容量など) を付けることができます。
PHP 変数のルール:
変数は $ 記号で始まり、その後に変数の名前が続きます
変数名は文字またはアンダースコア文字で始まる必要があります
変数名には英数字とアンダースコア (Az、0 ~ 9、および _) のみを含めることができます。
変数名にスペースを含めることはできません
変数名では大文字と小文字が区別されます ($y と $Y は 2 つの異なる変数です)。
PHP ステートメントと PHP 変数では大文字と小文字が区別されます。 |
PHP には変数を宣言するコマンドがありません。
変数は、初めて値を割り当てるときに作成されます。
<?php $ txt = "こんにちは! " $ x = 5 ? >
上記のステートメントの実行では、変数txt には値Hello world!が保持され、変数x には値5が保持されます。
注:テキスト値を変数に割り当てるときは、テキスト値を引用符で囲みます。
上記の例では、変数のデータ型を PHP に宣言する必要がないことがわかりました。
PHP は、変数をその値に基づいて正しいデータ型に自動的に変換します。
厳密に型指定されたプログラミング言語では、変数を使用する前にその型と名前を宣言 (定義) する必要があります。
変数のスコープは、変数を参照/使用できるスクリプトの部分です。
PHP には 4 つの異なる変数スコープがあります。
地元
グローバル
静的
パラメータ
すべての関数の外で定義された変数にはグローバル スコープがあります。関数に加えて、スクリプトのどの部分からもグローバル変数にアクセスできます。関数内のグローバル変数にアクセスするには、global キーワードを使用する必要があります。
PHP 関数内で宣言された変数はローカル変数であり、関数内でのみアクセスできます。
<?php$x = 5 ; // グローバル変数関数myTest (){ $y = 10 ; // ローカル変数echo "<p>テスト関数の変数:<p>" ; echo "変数 x は: $x " ; echo "<br>" ; echo "変数 y は: $y " ;} myTest ();echo "<p>テスト関数外の変数:<p>" ;echo "変数 x は: $x " ;echo "<br>" ;echo "変数 y は$y " ? >
上記の例では、myTest() 関数は $x 変数と $y 変数を定義します。 $x 変数は関数の外部で宣言されているためグローバル変数であり、$y 変数は関数の内部で宣言されているためローカル変数です。
myTest() 関数を呼び出して 2 つの変数の値を出力すると、関数はローカル変数 $y の値を出力しますが、$x 変数は外部で定義されているため、$x の値を出力できません。関数内でグローバル変数にアクセスするには、global キーワードを使用します。
次に、myTest() 関数の外側に 2 つの変数の値を出力します。この関数はすべてのローカル変数 $x の値を出力しますが、$y 変数は関数内で定義されているため、$y の値を出力できません。そしてローカル変数です。
これらの関数で定義された変数名はローカル変数であり、その関数にのみ影響するため、異なる関数で同じ変数名を使用できます。 |
global キーワードは、関数内のグローバル変数にアクセスするために使用されます。
関数の外で定義されたグローバル変数を関数内で呼び出すには、関数内の変数の前に global キーワードを追加する必要があります。
<?php $x = 5 ; $ y = 10 ; myTest ( ) { グローバル$ x 、 $ y = $x + $ y ; myTest ( ) ; $y ; //出力 15 ?>
PHP は、すべてのグローバル変数を $GLOBALS[ index ] という配列に保存します。インデックスは変数の名前を保持します。この配列は関数内でアクセスすることも、グローバル変数を更新するために直接使用することもできます。
上の例は次のように記述できます。
<?php $x = 5 ; $ y = 10 ; myTest ( ) { $ GLOBALS [ ' y ' ] = $GLOBALS [ ' x ' ] + $GLOBALS [ ' y ' ] } myTest ( ) ; $ y ;
関数が完了すると、通常、その変数はすべて削除されます。ただし、ローカル変数を削除したくない場合もあります。
これを行うには、変数を初めて宣言するときにstaticキーワードを使用します。
<?php関数myTest ( ) { 静的$ x = 0 ; $x ; $x ++ ; myTest ( ) ; myTest ( ) ;
その後、関数が呼び出されるたびに、変数には前回関数が呼び出されたときの値が保持されます。
注:この変数は依然として関数に対してローカルです。
パラメーターはローカル変数であり、その値は呼び出しコードを通じて関数に渡されます。
パラメータは、関数宣言の一部としてパラメータ リストで宣言されます。
<?php関数myTest ( $x ) { エコー$ x ; myTest ( 5 ) ;
これについては、PHP 関数の章で詳しく説明します。