変数は、情報を保存するための “コンテナ” (箱や数学の代入みたいな)です。
PHP変数の作成(宣言)
PHPでは、変数は$記号で始まり、その後に変数の名前が続きます:
コード例文
<?php
$txt = “Hello world!”;
$x = 5;
$y = 10.5;
?>
上記のステートメントの実行後、変数 $txt は値Hello world!を保持して、
変数 $x は 5保持し,
変数 $y は 10.5を保持します。
ノート: テキスト値を変数に割り当てる場合、値を引用符で囲みます。
ノート: 他のプログラミング言語とは異なり、PHPには変数を宣言するコマンドがありません
最初に値を割り当てた瞬間に評価されます。
変数はデータを保存するためのコンテナと考えてください。
PHP変数
変数には、短い名前(xやyなど)またはよりわかりやすい名前(年齢、車名、あだ名)を付けることができます。
PHP変数作成のルール:
- 変数は$記号で始まり、その後に変数の名前が続きます
- 変数名は文字またはアンダースコア文字で始まる必要があります
- 変数名は数字で始めることはできません
- 変数名に含めることができるのは、英数字とアンダースコア(A〜Z、0〜9、_)のみです。
- 変数名は大文字と小文字が区別されます($ ageと$ AGEは2つの異なる変数です)
PHP変数名では大文字と小文字が区別されることに注意してください!
出力変数
PHP echoステートメントは、画面にデータを出力するためによく使用されます。
PHP echo
ステートメントは、画面にデータを出力するためによく使用されます。
次の例は、テキストと変数を出力する方法を示します:
コード例文
<?php
$txt = “youneedjp.com”;
echo “I love $txt!”;
?>
次の例は、上記の例と同じ出力を生成します:
コード例文
<?php
$txt = “youneedjp.com”;
echo “I love ” . $txt . “!”;
?>
次の例は、2つの変数の合計を出力します:
コード例文
<?php
$x = 5;
$y = 4;
echo $x + $y;
?>
ノート: 次の章では、 echo
ステートメントと画面にデータを出力する方法について詳しく学習します。
PHPはゆるやか型付けされた言語です
上記の例では、変数がどのデータ型であるかをPHPに伝える必要がないことに注意してください。
PHPは、その値に応じて、変数を正しいデータ型に自動的に判断して変換します。
C、C ++、Javaなどの他の言語では、プログラマは変数を使用する前に変数の名前と型を宣言する必要があります。
PHP変数スコープ
PHPでは、変数はスクリプト内のどこでも宣言できます。
変数のスコープは、変数を参照/使用できるスクリプトの一部です。
PHPには3つの異なる変数スコープがあります:
- local
- global
- static
グローバルおよびローカルスコープ
関数の外部 宣言された変数にはGLOBAL SCOPEがあり、関数の外部でのみアクセスできます:
コード例文
<?php
$x = 5; // global scope
function myTest() {
// この関数内でxを使用すると、エラーが生成されます
echo “<p>関数内の変数xは: $x</p>”;
}
myTest();
echo “<p>関数外の変数xは: $x</p>”;
?>
関数内 で宣言された変数にはLOCAL SCOPEがあり、その関数内でのみアクセスできます:
コード例文
<?php
function myTest() {
$x = 5; // local scope
echo “<p>関数内の変数xは: $x</p>”;
}
myTest();
// using x outside the function will generate an error
echo “<p>関数外の変数xは: $x</p>”;
?>
ローカル変数は、それらが宣言されている関数によってのみ認識されるため、異なる関数で同じ名前のローカル変数を持つことができます
PHPグローバルキーワード
global
キーワードは、関数内からグローバル変数にアクセスするために使用されます。
アクセスするには、変数の前(関数内)で global
キーワードを使用します。
コード例文
<?php
$x = 5;
$y = 10;
function myTest()
{
global $x, $y;
$y = $x + $y;
}
myTest();
echo $y; // outputs 15
?>
PHPは、すべてのグローバル変数を$ GLOBALS[index]という配列に格納します
この index は変数の名前を保持します。この配列は関数内からもアクセスでき、グローバル変数を直接更新するために使用できます。
上記の例は、このように書き直すことができます:
コード例文
<?php
$x = 5;
$y = 10;
function myTest()
{
$GLOBALS[‘y’] = $GLOBALS[‘x’] + $GLOBALS[‘y’];
}
myTest();
echo $y; // outputs 15
?>
PHPの静的キーワード
通常、関数が完了/実行されると、その変数はすべて削除されます。 ただし、ローカル変数を削除したくない場合があります。 今後の仕事に必要です。
通常、関数が完了/実行されると、その変数はすべて削除されます。
ただし、ローカル変数を削除したくない場合があります。今後の仕事に必要です
これを行うには、変数を最初に宣言するときにstatic
キーワードを使用します。:
コード例文
<?php
function myTest()
{
static $x = 0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
その後、関数が呼び出されるたびに、その変数には関数が最後に呼び出されたときから含まれていた情報が保持されます。
ノート: 変数はまだ関数に対してローカルです。