PHPの変数
プログラムを書くときには、たくさんのデータをたくさんの箇所で使います。長い文字列や、同じ数値・計算式を何度も繰り返し使うこともあります。その都度データを書き込むのは面倒なので可変データを入れる一時的な箱を使用します。
箱には名前を付けて識別ができるようにし、その中の値は都度入れ替えることが出来ます。値には数字や文字、論理型、配列、日付等いろんな型があります。
最初から少し小難しい事を言ってしましましたが、手を動かしながら体で覚えていけますので大丈夫です。
変数の名前の付け方
変数には、名前を付けることで便利に扱えます。例えば皆さんも知っている円周率の「3.14」は数字だけみてもなんだかよくわかりませんが“pie”
という変数名を付けて格納しておけば、名前を見ればどのような値が入っているかわかりやすいと思います。
変数は基本的に、プログラミング言語で使用する予約後以外なら、好きな名前を付けて使用することができますが少しだけルールがあります。
- 変数の頭に$マークが付く
- $マークの次は、文字かアンダースコアでなければならない(数字はだめ)
- 大文字と小文字は区別される
- 2文字目以降なら数字が使える
- 記号はアンダースコアのみ
補足:マルチバイト文字(日本語の漢字やひらがななど)も使えるようですが、混乱するのでやめた方がよいと思います(これは個人的な意見です)。
※予約後とはプログラムの中で特別な意味を持つ名前で、(null,int,bool,string,true,false,float,void)これらは使えません。どのような意味を持つ名前かこの後で必要に応じて説明します。
ブラウザへの出力
phpスクリプトをブラウザに出力する場合はhtmlコードの中で文字コード等を適切に宣言しないと日本語を出力す場合に文字化けすることがありますが以下のようにヘッダー関数を使用することでも日本語を適切に出力できます。
1 2 3 4 |
<?pho header("Content-type: text/html; charset=utf-8"); echo "日本語の出力"; ?> |
この後のソースでは、特にヘッダー出力関数に関しては記述しませんが、ブラウザ確認の際は個々でご対応お願いします。また記事内でphpスクリプトを記述しますが必ずその都度ブラウザに出力して値を確認してください。
値を出力する場合は、echo関数とprint関数が使用できます。
1 2 |
echo "画面に出力します"; print "画面に出力します"; |
変数で数値を扱う
変数に値を代入するときはイコール「=」を使いますが、変数と値は等しい(イコール)と言う意味ではなく、変数に値を格納するという意味になります。行の終わりには、セミコロン「;」を付けます。
$変数名 = 値;
1 |
<?php $val = 10; ?> |
以下は、値が10から20に書き換えられます。
1 2 3 4 5 |
<?php $val = 10; $val = 20; echo $val; ?> |
演算もできます。$valの値は30になります。
1 2 3 4 5 |
<?php $val = 10; $val = $val + 20; echo $val; ?> |
変数で文字、文字列を扱う
変数に文字や文字列を代入するにはシングルクォーテーション(‘ ‘)またはダブルクォーテーション(” “)で囲みます。
$変数名 = ‘文字・文字列’;
1 |
<?php $strVal = 'genjin'; ?> |
マルチバイトを扱う時も同様
1 |
<?php $strVal = '原人'; ?> |
文字を連結する(文字列の連結演算子は、ピリオド「.」を使います)
1 2 3 4 5 |
<?php $strVal = '原人'; $strVal = "私は、".$strVal."が好きです。"; echo $strVal ?> |
変数で論理値を扱う
論理値とは 真 偽 を表す値のことで真であるか、真でないか(偽)を表す値のことです。
正しいか正しくないかという判断や値があるのか無いのかという判断でも使用されます。
「真」を“true”で表し「偽」をfalseで表現します。これは予約語にもなっているので変数名としては使用できません。
どのような場面で使用するかですが、このあとに出てくる条件判断(if文)で使用しますのでそのに時改めて説明します。ここではこんな値もあるという程度で良いです。