変数と定数の書き方・使い方
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 定数名 = 値;」です。
一般的に、変更したくない値を代入する場合に、変数ではなく定数を使います。