PHP

on Note

変数と定数の書き方・使い方

PHPで変数や定数を扱う際、どのような書き方で定義するのか。及び変数の使い方を説明しています。

また変数や定数には、識別する為に名前をつけますが、変数名を決める時のルールも説明します。変数名を決めるにあたって、使える文字など、最低限の決まりがあります。

この記事を最後まで読むことで、変数を扱えるようになります。

変数を定義する時の書き方

変数とは、値を代入し、変数名でその値を扱うというものです。よって変数は、変数名をつけて値を代入します。値とは、単純な文字列や数値の場合もありますし、複雑な処理文といったデータの場合もあります。

変数を定義する時の書式は「変数名 = 値;」です。

代入演算子(=)で左項と右項を隔てて、左項には変数名、右項には値を記述し、文の終わりとしてセミコロン(;をつけます。

変数名の頭には必ず$をつけます。$マークをつけないと、その名前が変数だとは認識されません。

$sample = 100;

上は、任意で名前を決めた $sampleという変数に、数値の 100を代入する、という意味合いになります。

変数を定義する際に変数名を決めますが、ここで、変数名に関するルールを説明しておきます。

変数名をつける時のルール

変数名に使用できる文字は、英数字とアンダースコア( _ )です。アンダースコア以外の記号は使用できません。

ただ、数字が使えるのは2文字目以降で、1文字目に使えるのは英字かアンダースコアです。

$sample_55     // 英数字とアンダースコアが使えます。

$_sample         // アンダースコアは1文字目にも使えます。

$55sample        // 1文字目を数字にしているのでエラーです。

変数名は、ひらがなやカタカナ、漢字を使って日本語にしたり、数字を半角でなく全角にすることもできるのですが、このような変数名は一般的ではありません。変数名に使用するのは半角の英数字とアンダースコアにしましょう。

変数名に関することで知っておくべきことがもう1点あります。

英字に限って言えることですが、変数名では大文字と小文字が区別されるということです。例えば「$sample」と「$SAMPLE」は、同じ英字の並びであっても片方は大文字でもう片方は小文字です。なのでこれらは別の変数として扱われます。

$sample = 5;           // 「5」を代入。
$SAMPLE = 10;        // 「10」を代入

echo $sample;        // 「5」が出力される。
echo $SAMPLE;        // 「10」が出力される。

変数の使い方

プログラムでは、値やデータを変数に代入し、変数名でデータを扱っていきます。

実際に変数を使ってみます。

<?php
    $age = 25;

    echo "年齢は" . $age . "歳です。";
?>

$ageに 25を代入し、echoキーワードを使って、文字列と変数を結合した形で出力しています。これは次のように表示されます。

年齢は25歳です。

定義した変数もまたデータですので、変数を変数に代入することもできます。

<?php
    $a = 20;
    $b = 30;

    $total = $a + $b;

    echo $total;
?>

2つの変数 $aと $bのそれぞれ数値を代入しています。そして $totalには、$aと $bを使った演算式を代入しています。

演算が行われた結果の「50」が表示されます。

文字列に変数を埋め込む書き方

先ほどの例を使って説明します。

<?php
    $age = 25;

    echo "年齢は" . $age . "歳です。";
?>

echo文の箇所ですが、文字列と変数を、文字列結合演算子(.)を使って1つの文としています。

これを、結合ではなく、文字列に変数を埋め込んだ形で記述することもできます。変数を文字列に埋め込むには、{ }(波かっこ)で変数を囲んで記述します。

<?php
    $age = 25;

    echo "年齢は{$age}歳です。";
?>

同様に「年齢は25歳です。」と表示されます。

定数の書き方

定数は変数と異なり、代入した値を変更することができません。よってプログラムの中で、変更する可能性のない、または変更したくない値は、変数ではなく定数で定義します。

定数の書式は「const 定数名 = 値;」です。

constキーワードによってそれが定数とされます。尚、変数名で必要だった $マークは定数名ではいりません。

定数名をつけるにあたって、ルールは変数名と同じです。変数名と同様に大文字・小文字を区別しますが、定数名は、全て大文字に揃えるというのが慣例です。

次の例では、1200円の商品に消費税率(10%)を含めた金額を算出します。消費税率は変更したくない値なので、変数ではなく定数で定義します。

<?php
    const TAX = 0.1;
    $price = 1200 * (1 + TAX);

    echo "価格は{$price}円です。";
?>

「価格は1320円です。」と表示されます。

まとめ

変数を定義する時の書式は、「$変数名 = 値;」で、変数名の前に $が必要です。

変数名には半角の英数字とアンダースコア( _ )が使えます。ただ、1文字目に数字は使えません。

{ }(波かっこ)を使えば、文字列に変数を埋め込んだ記述ができます。

定数はconstキーワードを使って定義します。書式は「const 定数名 = 値;」です。

一般的に、変更したくない値を代入する場合に、変数ではなく定数を使います。