phpで変数に名前を付ける方法/$の使い方と変数展開

people IT

phpでは変数の頭に$を付けます。それだけ知っていれば、ほぼこの記事は読み終えたも同然です。

Advertisements

変数とは

変数の宣言
$変数名 = 値

他の言語同様、値を格納する入れ物です。たとえば変数「number」を作り、値として3を代入するとしましょう。phpでは次のように書きます。最後の;を忘れると動きません。

<?php $number = 3; ?>

では、この変数3を出力してみます。

<?php echo $number; ?>

結果として3が出力されます。では、numberに1を足してみましょう。変数の値に+1する場合、変数++と書くことができます。

<?php $number++; ?>

さっきと同じechoをもう一度実行してみます。

<?php echo $number; ?>

すると、まったく同じ式にも関わらず、今度は4が出力されます。つまり、式を使いまわしてちがう結果を求めることができます。
わかりやすく言うと、数字の1から100までを出力させたい場合は、echo 1、echo 2、echo 3..と延々書いていくよりも、1から100まで変数に1足してそれを出力し続ける式を書いたほうが楽で間違いも少ないです(式の簡易化)
後から奇数だけ出力させたくなった場合も、50個式を削除するのではなく、繰り返しの回数を半分にして変数に1足してた部分を2にするだけで修正が完了します(修正の容易化)
さらに変数には任意の名前をつけることができるので、値が何を意味しているのかがわかりやすくなります(意味の明確化)
このあたりが一般的に言われる変数を使うメリットです。
phpの変数名は大文字小文字を区別します。頭の文字に数字は使えませんが、「_」(アンダースコア)は一文字目から使用することが可能です。$thisは変数名に使うことはできません。

変数展開

変数を文字列と繋げて表示するにはいくつかの方法があります。基本的なのは、「.」を使って接続する方法です。

<?php echo '数字は'.$number.'です'; ?>

もうひとつの方法として、ダブルクォーテーションで囲った文字の中に[]で囲った変数を置くことで、変数を文字列として埋め込む(中身を展開する)ことができます。これが変数展開と呼ばれるやり方です(シングルクォーテーションで囲った場合は無効)。

<?php echo "数字は{$number}です"; ?>

人の書いたコードを読む場合、どちらも読めるようにしておいたほうが無難です。

コメント