変数名の決め方と値の代入

PHP では変数を使用するために特別な宣言は不要です。変数名に値を代入すると、その時点で変数が生成され利用できるようになります。ここでは PHP で変数名の決め方と変数に値を代入する方法について解説します。

変数名の決め方

PHP で変数は値を格納するための箱です。他のプログラミング言語だと変数は別の場所に保管された値に対する名札のように機能するものもありますが、 PHP では値そのものを変数に格納します。

変数を利用するには、変数に対する名前と変数に格納する値を使って次のように記述します。

$変数名 = 値;

変数は事前に宣言は必要ありません。値を格納した時点からその変数を利用することが出来るようになります。

PHP では複数の変数をプログラムの中で使用することができます。その為、それぞれの変数を区別するために変数には任意の変数名を付けます。変数は「$+変数名」で表されます。

変数名にはアンダーバー、数字、アルファベットの組み合わせが使用できます。ただし変数名の先頭文字には数字は使用できません。

$name
$_pref_name
$box0241

変数名ではアルファベットの大文字と小文字は区別されます。例えば次の 2 つの変数は別の変数として扱われます。

$name
$Name

変数に値を代入する

変数に値を格納するには代入演算子 = を使います。代入演算子は左辺の値を右辺に代入します。次の例を見てください。

$old = 20;
$name = "加藤";

変数 $old に対して整数の 20 を代入しています。また変数 $name に対して文字列 "加藤" を代入しています。先に記載しましたが PHP では変数に値そのものが格納されています。

数値や文字列などの値が変数に格納されると、変数はあたかもその値のように扱うことができます。例えば変数を echo の引数に指定して出力することもできますし、数値が格納された変数を他の数値と演算することもできます。

$name = "加藤";
echo $name;

$num = 20;
echoh $num * 9;

また一度値を代入された変数に、別の値を代入することもできます。

$name = "加藤";
echo $name;

$name = "遠藤";
echo $name;
サンプルコード

では簡単なプログラムで試してみます。

<?php
$name = "キャベツ";
echo "名前は".$name."です\n";

$num = 150;
echo "値段は".$num * 1.1 ."円です";

作成したプログラムを sample.php として保存しました。その後でコマンドプロンプトを起動し、次のように実行しました。

php sample.php

変数の宣言と値の代入

変数に格納された値を出力したり、変数に格納された値と他の数値で演算が行えていることが確認できました。

変数に他の変数を代入する

変数には値だけでなく、別の変数を代入することもできます。その場合代入した変数に格納されていた値がコピーされて変数に格納されます。

次の例を見てください。

$name1 = "加藤";
$name2 = $name1;

最初に変数 $name1 に値 "加藤" を代入しています。次に変数 $name2 に変数 $name1 を代入しています。この時点で変数 $name1 には "加藤" が代入されていたので、変数 $name2 にも "加藤" の値がコピーされて代入されます。

なお 変数 $name2 に変数 $name1 を代入しても、 $name1 に格納されている値はそのままです。

サンプルコード

では簡単なプログラムで試してみます。

<?php
$name1 = "キャベツ";
echo "値は".$name1."です\n";

$name2 = $name1;
echo "代入先の値は".$name2."です\n";
echo "元の変数の値は".$name1."です\n";

作成したプログラムを sample.php として保存しました。その後でコマンドプロンプトを起動し、次のように実行しました。

php sample.php

変数に他の変数を代入する

変数に他の変数を代入することで、変数に格納されていた値がコピーされて格納されることが確認できました。

-- --

PHP で変数名の決め方と変数に値を代入する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。