PHPを学ぶ上で最初の壁といってもいい「変数」について見ていきたいと思います。PHPを扱う上で避けては通れない「変数」ですが、難しく考えずにやっていきましょう。
変数ってなに?
「変数」とは、様々な値を一時的に記憶しておく「箱」だと思ってください。
この箱の中に値をしまったり、取り出したりして計算や結果を出していきます。
例えば、それぞれの商品の値段を箱にしまっておき、すべての合計金額を計算する際にその箱から合計金額を取り出す。というような使い方があったり、クラスの生徒にそれぞれ固有のIDを割り当てたものを箱にしまっておき、その中で特定の生徒だけをIDを元に取り出していく。など数値や名前など色々な使い方ができます。
そもそも「変数」という名前が付いているので「変わる数」ということ。また数に限定することはないので状況に応じて「変わる値」と考えた方が正しいかと思います。
変数を定義する
変数を扱うとき、まずはその変数にどんな数値や値をしまっておくのかという「定義(名前を付けてわかりやすくする)」が必要になります。これを「変数を定義する」と言いますが、その場合に「代入演算子[=]」というものを利用します。
ここで注意することは、数学でいう「=(イコール)」と代入演算子の「=(代入)」は別物だと理解してください。「“左辺と右辺が等しい”という意味ではなく“左辺に右辺を代入する”という意味になります。」
また、PHP以外のプログラム言語においてはこの変数を定義する際に、「変数宣言」や「型の宣言」というものをする必要がありますが、PHPでは自動で定義・解釈されます。
では、その変数の定義とはどのようにするのかを見ていきます。
まず基本となることですが、変数を定義する際は「$(ドル記号)」を使います。
ここでひとつ変数を定義してみましょう。
1 2 3 4 |
<?php $drink = "ミネラルウォーター"; //←変数を定義する echo $drink; //定義した変数の値を出力する ?> |
▼実際の表示
簡単に解説をしてみると、$drink という名前を付けた「箱」の中に「ミネラルウォーター」という「値」をしまっておき、その直後に $drink の中身を取り出して出力しています。一行目で「$drinkという変数にミネラルウォーターという値を代入する」二行目で「$drinkという変数の中身を出力する」という意味になっています。
変数を定義する際の命名ルール
変数を定義する際に、先程で言えば「$drink」という名前を付けましたが、このように変数にはある程度自由に名前を付けることができます。その中でも、少なからず決められたルールがあるので見ていきましょう。
- 変数名は[$]からはじめる
- 半角英数字または[_(アンダースコア)]を使う
- 先頭文字はアルファベットか[_]にする
- 大文字と小文字を区別する
いくつか実際に見ていくと、
1 2 3 4 5 6 7 8 |
$drink //可 $drink5 //可 $3drink //不可(先頭文字が数字になっているため) $_drink //可 $_3drink //可 $drink-1 //不可([_]以外の記号は使えないため) $DRINK //可 $ドリンク //可 |
変数を再定義する
変数は何度も定義することができますが、同じ名前の変数をひとつのプログラム内で定義することも可能です。そういったことを「変数を再定義する」と言いますが、どのようになるのかちょっと見てみましょう。
1 2 3 4 5 |
<?php $weather = "曇り"; //←変数を定義する $weather = "雨"; //←変数を再定義する echo $weather; //定義した変数$weatherの値を出力する ?> |
▼実際の表示
ここでは、$weatherという変数に最初「曇り」という値が代入されましたが、その後すぐに「雨」という値が代入されました。そのような場合、$weatherという箱の中にある値は自動的に上書きをされるため「曇り」→「雨」に入れ替わりました。そのためその後のecho()によって出力されると「雨」という値が取り出されたというわけです。
計算結果を変数に代入してみる
この変数には、計算した結果を代入することもできます。
簡単な計算をしてみましょう。
1 2 3 4 |
<?php $table = 12+3; echo $table; ?> |
▼実際の表示
画面上に[12+3]により[15]という数値が出力されたかと思います。
数値の計算には「算術演算子」というものを使いますが[+][-][*][/][%]などがあります。
ついでにもう少しだけ、複雑にした計算をしてみましょう。
1 2 3 4 5 6 |
<?php $price_A = 1000; $price_B = 500; $total_price = $price_A + $price_B; echo $total_price; ?> |
▼実際の表示
文字列と変数の結合
文字列(テキスト)と変数を結合するには「文字列演算子」を使います。文字列演算子というとややこしいですが「.(ドット)」のことです。
1 2 3 4 |
<?php $weather = "雨"; //←変数を定義する echo ("只今の天気は".$weather."です。"); //定義した変数$weatherの値を出力する ?> |
▼実際の表示
ここまで、変数とはなに?というところから「定義/再定義の仕方」、値の代入、計算における変数の扱い方、文字列と変数の結合などを見てきました。まずは、ここまでのことをすっきり理解して進んでいきましょう。今日はここまで。