
計算結果を表示するのではなく保持する
前の記事「【PHPプログラミング入門講座】PHPプログラムで計算をしてみよう」 では、PHPプログラムの基礎的な計算の書き方について説明しました。
サンプルプログラムは、計算してそのまま画面に表示するという処理を使いました。
ただ、実際には、計算結果をすぐに画面に表示したいというケースはあまりなく、さらに別の処理で使うために、一旦どこかに保持しておきたい場合がほとんどです。
そのような値を一時的に保持しておきたい時に使用する入れ物のような役割をするのが「変数」です。
数学の変数とプログラムの変数の違い
ところで、「変数」といえば、中学・高校の数学の授業でも出てきたと思います。
xやyを使った計算式を見たことありますよね?
数学では、このx、yのことを変数と呼んでいました。
そして、例えば次のように使っていました。
x + 3 = 10
このように書いて、xの値を解いたり、
y = ax2
と書いて、公式(方程式)として使用したり。
つまり、「未知数」や「変化する数の表現記法」として使うのが、数学の変数でした。
しかし、プログラムの変数は全く意味や用途が違います。
プログラムの変数は「値を一時的に保持する入れ物」として使います。
言葉だけでは分からないと思いますので、ひとつずつ説明していきます。
変数の書き方
数学では、変数は、x、y、zのように1文字のアルファベットで書きました。
しかし、プログラム(PHPプログラム)の変数の書き方は違います。
どのように書くのか、以下に実際のプログラムの変数の書き方の例をいくつか挙げます。
(例1) $x (例2) $num (例3) $str2 (例4) $your_message (例5) $yourMessage (例6) $_num
いかがでしょうか。
意味だけでなく書き方も数学とは全く違います。
また、いろいろな書き方があります。
では、上記の(例1)〜(例6)について、それぞれ解説します。
(例1) PHPの変数は最初に必ず「$」を付けるというルールです。
(例2) 変数はアルファベット複数文字で書くこともできます。
(例3) アルファベットだけでなく、数字も使うことができます。
(例4) アンダースコア「 _ 」で単語を繋げたような書き方もできます。
(例5) アルファベットの大文字も使うことができます。
(例6) アンダースコア「 _ 」を「$」の直後に書くこともできます。
間違った変数の書き方
PHPでは次のような変数の書き方はできません。 エラーになります。
- 変数の$の直後に数字を使う ($の直後以外であればOK)
(例) $2num - 変数の中に半角英数、アンダースコア「 _ 」以外の半角文字を使う
(例) $your-message
$my@mail - 全角文字を使う
(例) $num
$へんすう - 変数の中にスペースを書く
(例) $your message
以上、まずはPHPの変数の書き方についていろいろと紹介しました。覚えておきましょう。
変数の使い方
では、次に変数の使い方の説明をします。
プログラムの変数は「値を保持する入れ物」でしたよね。
どのように記述して値を変数に保持させるのでしょうか。
例えば、「9という数字の値(数値)を変数$numに保持する」場合は、PHPプログラムで次のように書きます。
<?php $num = 9;
この書き方、初めて見た人は「ちょっと、気持ち悪い。」と感じませんでしたか?
そう、「=」(イコール)は数学では「等しい」という意味でした。
しかし、プログラムでの「=」の意味は、「等しい」ではありません。
プログラムでは「『=』は、右辺に書いているものを左辺の変数に設定する」という意味になります。
プログラミングが初めての人にとっては、ちょっと違和感があるかもしれません。
でも、そういうモノだと慣れるしかないです。
慣れてしまいましょう。
代入について
「右辺の内容を左辺(の変数)に設定する」ことをプログラムの世界では「代入する」と呼びます。
つまり「$num = 9;」は「9を$numに代入する」と読みます。
「代入する」という言葉は、よく使うので覚えておきましょう。
今後、この講座でも「代入する」という言い方を使っていきます。
では、せっかくなので、前に説明したechoを使って「9を$numに代入し、さらに$numを出力する」プログラムを書いてみましょう。
次のようになります。
<?php $num = 9; echo $num;
こんな感じになります。
ところで、今までの記事の中で、今、初めてPHPプログラムを2行で書きました。
徐々に覚える内容も難易度アップしていきます。頑張っていきましょう!
ここでひとつ注意ですが、PHPプログラムでは、1つの命令(処理)を書く度に命令の最後に必ず「;」(セミコロン)を書きます。
セミコロンを書き忘れてしまうと、プログラムエラーが発生しますので注意しましょう。
では、実際にこのPHPプログラムをブラウザで動作確認してみましょう。
次のように「9」が表示されればOKです。
9
計算して代入する
先ほどは「=」の右辺が数字が1つでしたが、計算式を記述することもできます。
例えば「2 + 3 を計算して、その答えを$numに代入し、$numを出力する」プログラムは次のように書きます。
<?php $num = 2 + 3; echo $num;
こういう書き方もできるという知識をひとつずつ増やしていきましょう。
では、ブラウザで動作確認してみましょう。
次のように2 + 3の計算結果が表示されればOKです。
5
文字列を変数に代入する
PHPプログラムでは、数字や計算結果だけでなく、さらに文字列も変数に代入することができます。
例えば、「This is a pen.というメッセージを変数$strに代入し、$strを出力する」プログラムを書くと次のようになります。
<?php $str = 'This is a pen.'; echo $str;
これも知っておきましょう。
おわりに
PHPプログラムの変数について説明しましたが、いかがだったでしょうか?
数学の変数とは全く違うモノであることが、理解できたかと思います。
念のため、数学の変数と比較して説明しましたが、今後はもう数学の変数のことは一切忘れてしまって結構です(仕事で数学を使う人以外は)。
次の記事に練習問題を用意していますので、ぜひチャレンジしてみてください!
PHPプログラミング入門講座 〜 全記事一覧 〜
- PHPで開発された有名なWebサイト
- PHPでどのような機能が作れるか?
- サーバーについて理解しよう
- Webサーバーの処理について詳しく説明
- PHPプログラムの動作について説明
- パソコンにPHPの動作環境を構築しよう
- 一番簡単なPHPプログラムを書いてみよう
- ブラウザ画面にメッセージを表示しよう
- PHPタグの書き方と終了タグの省略
- 特殊なメッセージ(文字列)の書き方
- PHPプログラムで計算をしてみよう
- 現在のページ:変数
- 文字列の結合とヒアドキュメント
- ファイルの分割とファイルの読み込み
- コメント
- 定数
- 数値と文字列の性質・デバッグ
- 条件分岐 (if文)
- 論理型 (boolean型)
- 比較演算子
- 論理演算子
- 条件分岐 (switch文)
- 三項演算子
- 配列とforeach文
- 代入演算子 / 加算子 / 減算子
- ループ処理 (for文)
- ループ処理 (while文とdo-while文)
- break
- continue
- 連想配列
- 連想配列のループ処理