変数とは
更新日 : 2020年02月09日
プログラミングで必ず使用される変数についての記事です。
どんなプログラミング言語にも変数という機能は必ずあります。
データの一時的な保存や保存したデータの再利用をする目的で使用されます。
変数とは
まずは変数とはどのようなものか、なぜ変数が必要なのかをPHPのプログラムで考えていきます。
<?php
$hello = "こんにちは 世界!!<br>";
echo $hello;
echo $hello;
echo $hello;
echo $hello;
echo $hello;
?>
こちらのPHPを実行すると以下のようになります。
今回は$hello
という部分が変数になります。
変数を使用すると、データをこのように再利用したり、一時的に保存しておくことができます。
プログラミングでコードを書いていくと、このデータはもう一回別の場所で使いたいという場面や前のデータを少し加工して使いたいなどの場面が必ずあります。
例えば、Twitterにログインした時などは自分のアカウント名がページ内にいくつか載っていたりするかと思います。名前を変数に入れて、様々なところで利用可能になります。
今回のPHPのコードのように変数を使用することによって、同じデータへのアクセスを何度でも簡単に行うことができたり、データの加工なども簡単に行うことができます。
変数は箱に例えられる
様々なプログラミングの入門書で変数を説明する際には、よく「箱」に例えられます。
コンピュータは情報(データ)を保存する機能とそれらのデータを使用した計算を行うことしかできません。
そして、コンピュータの中にはCDのようなディスクが入っていたり、記憶素子というデータを保存する機械が入っています。人間はCDのどの部分に自分のほしいデータがあるかはわかりませんよね。(笑)
プログラミングでも同様のことが起きています。プログラムで使用するデータはコンピュータのどこに保存されていて、どうやって持ってくるかは人間には把握しきれません。
データの場所などを気にすることなく扱うために変数があり、使いまわしたいデータなどを「名前付きの箱」に置いておくことで、プログラミングをする際にはデータがどこにあるかを気にする必要が無くなります。
ほぼ全てのプログラミング言語で変数を扱うことができ、主に3つの操作の方法があります。
では変数の操作を3種類ご説明していきましょう。
変数の操作
変数の操作は3種類あります。「名前付きの箱」に例えながらご説明します。
変数の宣言
まずは変数の宣言についてです。
箱に名前をつける作業です。その名前をつける操作をプログラミングの変数では「宣言」と言います。以下のようなイメージを持っておけば良いです。
先程のPHPのコードの部分を使用すると$hello
が変数宣言です。PHPでは初めて使う変数名を書いた時点で宣言とみなされます。今回は「hello」という名前で変数宣言をしています。
「hello」という名前の箱を作成したものと考えていただければ良いかとおもいます。
変数の代入
箱を作成したら、箱にデータを入れてあげましょう。
特定のデータを箱の中に入れて保存しておくことを代入といいます。先程のPHPのコードでは$hello = "こんにちは 世界!!<br>"
という部分が変数の代入を行っている部分です。イメージとしては以下のように捉えておけば大丈夫です。
=
(イコール)を使うことによって、「helloという名前の箱に、こんにちは 世界!!<br>
というデータを入れておく」という意味になります。この=
(イコール)を代入演算子と言います。プログラミング言語では、代入演算子をイコールと決めているものがほとんどです。
先程のPHPのコードでは、変数の宣言と代入を同時に行っています。大体のプログラミング言語は宣言と代入を同時に行えます。
変数の利用
変数の代入を行ったことで、使いまわしたいデータが箱に入った状態となります。これらをいつでも使うことができます。
先程のPHPのコードではecho $hello
の部分です。echo
は表示する命令を行うだけですが、$hello
と書くだけで、代入されたデータそのものとして利用できます。
変数の応用
以下のPHPコードを見てください。
<?php
$first = "abc";
$first = "xyz";
$end = $first;
echo $first;
echo $end;
?>
こちらのPHPコードは実行するとどうなるでしょうか。。。
答えは以下になります。
どちらも「xyz」と表示される結果になります。
順番に考えてみましょう。
- firstという名前の変数を宣言し、同時に
"abc"
というデータを代入。
これでfirstという名前の箱を用意し、"abc"
というデータを箱に詰め込む作業を行います。 - firstという名前の変数に
"xyz"
というデータを代入。
firstという名前はすでにあるのでこれは代入のみの操作です。
ここでは箱の中身の付け替えが発生します。先ほどの"abc"
というデータは追い出され、特定の箱には入らないので、場所がわからなくなります。 - endという名前の変数を宣言し、同時に、first変数を利用してデータを代入
$end = $first
となっていてややこしいですが、右側の$firstは変数の利用です。
つまりここでは$end = "xyz"
と同様のことが置きます。データをendという変数に代入していますね。 - 1〜3の結果により
first
変数にもend
変数にも"xyz"
というデータが代入されていて、出力するとxyzxyz
という結果になります。
まとめ
最後は変数の応用と称してちょっとだけややこしいやり取りを行いましたが、プログラミングを始めたばかりであれば、現在はここまで理解していなくても大丈夫です。
今回は、変数の宣言・代入・利用という扱い方があることを理解していただければと思います。
特に変数の利用に関しては、箱の中身のデータのコピーを使用するということを理解していただきたいです。
そして最後に、変数名は後から読んでもわかりやすい名前をしっかりつける癖を付けましょう。プログラミングはあくまで人間が読むものです。なんとなくで名前をつけるのではなく、意味をもたせた英語名をなるべくつける意識を持ちましょう。