PHP 5 Variables

❮ 前章へ 次章へ ❯

変数は、情報を格納するための「コンテナ」です。


PHP変数の作成(宣言)

PHPでは、変数は $ 記号から始まって、その後に変数名が続きます:

<?php
$txt = "Hello world!";
$x = 5;
$y = 10.5;
?>
例の実行 »

上のステートメントを実行後は、変数$txtにはHello world!が、変数$$xには5が、 変数$yには10.5が設定されます。

注: 変数にテキスト値を代入するときは、値の前後を引用符で括ります。

注: 他のプログラミング言語とは異なり、PHPには変数を宣言するためのコマンドはありません。 最初に値を代入した時に作成されます。

変数は、データ格納用のコンテナと考えてください。


PHP 変数

変数は、短い名前(x や y など)や、よりわかりやすい名前(age、carname、total_volume)にすることができます。

PHP変数のルール:

PHPの変数名は、大文字と小文字が区別されることに注意してください!


出力変数

PHPのecho文は、よくデータを画面に出力するために使用します。

次の例は、テキストと変数の出力方法を示しています:

<?php
$txt = "W3Schools.com";
echo "I love $txt!";
?>
例の実行 »

次の例は、上の例と同じ内容を出力します:

<?php
$txt = "W3Schools.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つの変数スコープがあります:


グローバルとローカルスコープ

関数ので宣言した変数はグローバルスコープを持ち、関数の外でしかアクセスできません:

<?php
$x = 5; // global scope

function myTest() {
    // using x inside this function will generate an error
    echo "<p>Variable x inside function is: $x</p>";
}
myTest();

echo "<p>Variable x outside function is: $x</p>";
?>
例の実行 »

関数ので宣言した変数はローカルスコープを持ち、その関数内でしかアクセスできません:

<?php
function myTest() {
    $x = 5; // local scope
    echo "<p>Variable x inside function is: $x</p>";
}
myTest();

// using x outside the function will generate an error
echo "<p>Variable x outside function is: $x</p>";
?>
例の実行 »

ローカル変数は、それが宣言されている関数でしか認識されない、他の関数内に同じ名前のローカル変数を宣言することができます。


PHPのグローバル・キーワード

グローバル・キーワードは、関数内からグローバル変数にアクセスするために使用します。

これを行うためには、変数の前に 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 キーワード

通常は、関数の実行が完了すると変数はすべて削除されてしまいます。しかし、時には、ローカル変数を削除したくない場合もあります。 タスクをさらに継続したい時に、それが必要となってきます。

これを行うためには、変数を最初に宣言するときに static キーワードを使用します:

<?php
function myTest() {
    static $x = 0;
    echo $x;
    $x++;
}

myTest();
myTest();
myTest();
?>
例の実行 »

その後、関数が呼び出されるたびに、その変数は、関数が最後に呼び出されたときの情報を保持するようになります。

注: 変数は、引き続きその関数のローカル変数です。


❮ 前章へ 次章へ ❯