前回は、PHPの基本構文と、HTMLとどう関係しているかを解説してきた。
特に基本構文はこの後ずっと使うので、まだ分からない方はさきにそちらを理解しておこう。
以下がその記事だ。
【PHP講座02】PHPの基本構文とHTMLとの関わり | Shino’s Mind Archive
さて、今回は前回最後に書いた通り、変数について見ていく。
まだしばらく、常に使うものが出てくるので、確実に進めていこう。
ここも超重要!
自分でも色々組みながら進めていこう!
変数
変数とは
プログラミング自体初めての方向けに、変数の説明をしておこう。
変数とは、データを入れておくことができる箱のようなものだ。
名前をつけた箱の中にデータを入れておき、後で使いたいときにそれを呼び出すことができる。
基本的には、どの言語でも変数の宣言(初期化)が必要になる。
まあ、先に中身を入れておかないと使えないのは当然だろう。
その他、型という考え方がある。
これは、その変数の中に入っているデータがどんな種類のものなのかという考え方だ。
言語によっては、変数宣言時にこの型も指定しなければいけない。
後で詳しく解説するが、PHPは型の指定は不要だ。
PHPの変数の使い方
では、ここからPHPの変数に入っていこう。
PHPでは、変数は必ず「$」で始まる名前をつける。
そして、中身を入れなければいけないのだが、その時にはイコール一つを使う。
PHPに限らず、多くの言語でイコール一つは右辺のデータを左辺に代入する、という意味になるので、これも覚えておこう。
当然のことながら、先にデータが入った状態で別のデータを代入すると、上書きされるのでそれも注意しておこう。
では、前回の文字列出力も併せて、サンプルを書いてみよう。
文字列Hello World!
を変数$str
に入れて、それを表示してみる。
<?php
$str = "Hello World!";
echo $str;
?>
これでアクセスすると、前回までと同じく「Hello World!」と表示されるはずだ。
ちょっと注意して欲しいのは、3行目の出力。
前回は文字列を直接表示していたので、ここをダブルクォーテーションで囲っていた。
しかし、今回は変数の中にその文字列が入っている。
それを表示するので、ここには変数名をそのまま書けばOKだ。
上では文字列を入れていたが、もちろん数字なども入れることができる。
試しに、二つの数字を用意して、その合計をまた別の変数に入れて表示してみよう。
<?php
$num1 = 3;
$num2 = 2;
$sum = $num1 + $num2;
echo $sum;
?>
これを実行すると、今度は「5」だけ表示される。
このように、代入の右辺に計算式などを入れることも可能だ。
その場合、計算の結果が変数に入ることになる。
もう一つ、左辺に書いた変数を右辺に入れることもできる。
<?php
$num = 5;
$num = $num + 3;
echo $num;
?>
3行目で、左辺と右辺に同じ変数を使ってみた。
さて、この結果はどうなるだろうか?
答えは、8となる。
まず、3行目に入った時、$num
に入っているのは5だ。
この状態で、右辺の計算が行われ、それが8となる。
それを左辺に代入するので、$num
が8になる、というわけだ。
なお、このように変数内の数値に何かを足したり引いたり、という計算を行う場合には省略形が用意されている。
イコールの左にその演算子を書き、右に足したり引いたりしたい数を書く。
上のsample06.phpは以下のように書き直すことができるのだ。
<?php
$num = 5;
$num += 3;
echo $num;
?>
変数名の注意点
変数名をつけるときに、いくつか注意点がある。
まず、変数名の先頭にすることができるのは、半角英字と半角アンダーバーだ。
…が、基本的には先頭は英小文字にしておこう。
二文字目以降であれば、数字も使用することができる。
また、英大文字と英小文字の違いは区別される。
つまり、$num
と$Num
は別の変数として扱われるということだ。
その他、これは慣習のようなものだが、変数名に二つ以上の単語を使う場合は、二つ目以降の単語の先頭を大文字にすることが多い。
例えば、$userName
といった感じだ。
最後に、PHPに限らず予約語というものが存在する。
これは、事前に言語側で使用するよと決められているもので、通常はこれを変数名などにはできない。
PHPの場合は一応変数名にできるらしいが、しない方がいいだろう。
PHPの予約語リストが一覧になっているページを以下に貼っておくので、一通り目を通してみて欲しい。
PHPにおける変数の型
これまで解説してきたように、PHPでは変数を使うときにいきなり代入する形で書いた。
そのため、見た目にはその変数の型が分からない状態だ。
しかし、内部的にはしっかり区別されているので、その点は注意しておこう。
例えば、$num = 3;
と、$num = "3";
は異なるものを代入している。
一つ目は数値としての3を、二つ目は文字列としての3を入れていることになるのだ。
見た目には出てこないので組みやすい反面、エラーが出たときにわけがわからなくなりやすいので、しっかりと意識しておいてほしい。
変数の型は色々あるが、一旦は…
- 整数
- 小数
- 文字列
あたりがあると認識しておいてもらえればいい。
その他もあるが、それは出てきたときに紹介しよう。
文字列の連結
ちょっと短くなってしまったので、もう一つ解説しておこう。
複数の文字列を連結するときの書き方だ。
PHPでは、二つの文字列をドット「.」で挟むことでつなげることができる。
例えば、上で出した計算のプログラムをちょっと修正してみよう。
<?php
$num = 5;
$num += 3;
echo "計算の結果は" . $num . "です。";
?>
出力の部分で文字列の連結を使っている。
このようにすると、「計算の結果は」という文字列と$num
に入っているデータ、「です。」という文字列が連結されたものが出力される。
$num
に入っているのは8なので、最終的に「計算の結果は8です。」と表示されるのだ。
他のJavaやCといった言語では「+」がよく使われるが、PHPはドットなので、間違えないようにしておこう。
なお、上で解説した、ある変数に加えるといったこともできる。
例えば…
<?php
$str = "文字列1";
$str .= "文字列2";
echo $str;
?>
このように書けば、3行目で$str
に「文字列1文字列2」というデータが入る。
これもよく使うので覚えておこう。
おわりに
今回は基本の一つ、変数を解説した。
ひとまずは、データを入れる箱のようなもの、先に代入が必要、先頭には$をつける、くらいを意識しておいてもらえれば十分だろうか。
型は、いったん存在を知っておいてもらえれば大丈夫だ。
さて、次回はこの変数をちょっと拡張して、配列を紹介しよう。
今回の考え方が基になるので、しっかりと理解しておいてほしい。
コメント