English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、PHPで情報を変数に保存する方法を学びます。
変数はデータを格納するために使用されます。例えば、テキスト文字列、数字などです。変数の値はスクリプトの実行中に変更できます。以下は変数に関する重要な情報です:
PHPでは、変数に値を追加する前に変数を宣言する必要はありません。PHPは変数の値に基づいて自動的に正しいデータ型に変換します。
変数を宣言した後は、コード全体で繰り返し使用できます。
代入演算子(=)は変数に値を割り当てるために使用されます。
PHPでは、変数を次のように宣言できます:\$var_name = value;
<?php //変数の宣言 \$txt = "Hello World!"; \$number = 10; //変数の値を表示 echo \$txt; // 出力: Hello World! echo \$number; // 出力: 10 ?>実行してみてください‹/›
上記の例では、文字列値を割り当てた1つの変数と数字を割り当てた2つ目の変数を2つ作成しました。その後、echo文を使用してブラウザで変数の値を表示しました。 echo文通常、データを出力するために使用されます。次の章でさらに詳しく説明します。
作用域は、変数が宣言されたプログラムに対してどの範囲で利用できるかを定義します。PHPの変数は4つの作用域のいずれかの1つです。-
関数内で宣言された変数はローカル変数とされ、つまり、その関数内でのみ参照できます。関数外でのいかなる代入も、関数内に含まれる代入とは完全に異なる変数として見なされます。-
<?php \$x = 4; function assignx () { \$x = 0; print "\$x 内部関数では \$x. <br" />"; } assignx(); print "\$x 関数外では $x. <br />"; ?>テストしてみる ‹/›
出力結果:
$x 内部関数では 0. $x 関数外では 4.
関数の引数は、関数名の後ろと括弧内で宣言されます。その宣言は典型的な変数と非常に似ています:
<?php //値を乗算します10、それを呼び出し元に戻します function multiply ($value) { $value = $value * 10; return $value; } $retval = multiply (10); Print "返り値は $retval\n"; ?>テストしてみる ‹/›
出力結果:
返り値は 100
最後に話した変数の範囲は静的です。関数の引数として宣言された変数(関数出口で破棄される)とは異なり、静的変数は関数から退出したときにその値を失いません。また、関数が再び呼び出された場合、その値は保持されます。
静的変数を宣言するには、変数名の前にキーワードSTATICを置くだけで十分です。
<?php function keep_track() { STATIC $count = 0; $count++; print $count; print "<br />"; } keep_track(); keep_track(); keep_track(); ?>テストしてみる ‹/›
出力結果:
1 2 3
ローカル変数とは異なり、グローバル変数はプログラムのどの部分からでもアクセスできます。しかし、変更するために、グローバル変数は変更する関数で明示的にグローバル変数として宣言する必要があります。これは、キーワードglobalを認識されるべき変数の前に置くことで非常に便利です。このキーワードを既存の変数の前に置くと、PHPはその名前の変数を使用すると伝えます。−例
<?php $somevar = 15; function addit() { GLOBAL $somevar; $somevar++; print "Somevar = $somevar"; } addit(); ?>テストしてみる ‹/›
出力結果:
Somevar = 16
以下のルールに従ってPHPの変数名を命名します:
PHPのすべての変数は、 $ シンボルで始まり、変数名が続きます。
変数名はアルファベットまたはアンダースコア(_)で始まる必要があります。
変数名は数字で始まることはできません。
PHPの変数名は、アルファベット数字文字およびアンダースコア(A-z、0-9、および _)
変数名にはスペースを含められません。
注意: PHPの変数名大文字と小文字を区別します、$x と $X は異なる変数です。したがって、変数名を定義する際には注意が必要です。