第139回 PHP入門

1章 さあプログラミングをはじめよう

こんにちは。ビンゴ中西です。
今回は、プログラミングは初めてという方を対象に、PHPというプログラミング言語を使って
プログラムの楽しさを知ってもらおうと思います。(注:今回はPerlではなくてPHPです。)


なお、PHPを動かすことはできるけど、自分でプログラムというのを書くには
なにから覚えていったらいいのかわからないという方を対象としています。

まず実行

<?php

print('Hello World!');

?>

さあ、上の1行をエディタというものを使って打ってみよう。
実行すると、

Hello World!

と表示されましたね!!! おめでとう大成功です。

聞き慣れない単語も徐々に覚えていこう

ここで、「エディタ」とか「実行する」という聞き慣れない単語が出てきたと思います。
基本的に、プログラムは、「エディタ」と呼ばれるソフトを使って書いていきます。
「実行する」とはプログラムを動かすことです。
僕が、初めてプログラムをやったときは、
もうエディタが何かもさっぱりわからないし、プログラムをどうやって実行していいかもわからない。
1週間ぐらいかかって実行できた記憶があります。

Wordではなくエディタ

ああ、そういえば、「Word」っていうソフトで文字を打ったことあるぞ! と思って、
「Word」を使ってプログラムを書いてはいけません。
プログラムというのは、上記のように文字をコンピュータが解釈して「なにかを起こしてくれる」ものなのですが、
「Word」で書いた文章は、「Word」が読み込むためにあります。

これは、どういうことかというと、「Word」で書かれたもの(ファイル)は、「Word」だけが理解できる情報を持っています。

これに対して、「エディタ」と呼ばれる部類のものは、そういった余計な情報は付けません。
ですから、僕らが打った情報だけをそのまま保持してくれる「エディタ」がプログラミングには、必要なのです。


2章 print ってなんだろう

さて、

print('Hello World!');

というのを詳しく見ていこうと思います。
最後の ; (セミコロン)なんかも気になりますねぇ。
プログラムというのは、複数の「文」というものによって成り立ちます。
僕らが使っている日本語なら、
「今日は、いい天気です。」
というので1文です。 最後の「。(句点)」が文の終わりを示しています。

PHPに置いては、「;」が文の終わりを示しています。


print というのは、画面に文字列を表示するための命令です。
これで、Hello World! という文字列が画面に表示されたわけです。
おや、'(シングルクォート)は表示されていませんね。
'(シングルクォート)は、その間にあるものが「文字列」であるということを表しています。
こんな感じで、プログラム言語というのは、色んな記号を用いて、「意味」を示すことができます。

3章 変数を使おう

「変数」というものを学びたいと思います。これは、「へんすう」と読みます。
なかなかどんなものか想像しづらいですが、ゆっくり見ていきましょう。
「変数」というのは「箱」をイメージするとわかりやすいです。
いつまでも「箱」のイメージでは、成長(プログラミング能力)は止まってしまいますが、
ひとまず、成長が止まるところまでは、「箱」のイメージにしておきましょう。

では、この「箱」の機能を紹介したいと思います。

  • けっこう何でも入れれる
  • 名前を付けなければいけない
  • 箱の中身をとりだすことができる


ざっとこんな感じです。
「けっこう何でも入れれる」のところですが、それでは学習しづらいので、今回は、
「数字」を入れてみましょう。

<?php

$x = 1;

?>

これで、 $xという名前の「変数」(箱ですね)に、数字の1が入りました。

まさに驚愕ですね。何がなんだかという感じかと思います。
PHPでは変数であることを示すために頭に「$(ドル)」がつきます。
今回はxという名前の変数を用意したことになります。

=(イコール)が気になる

=(イコール)はなんでしょうか?非常に気になりますね。

この記号は、「代入」という意味で使われます。
「だいにゅう」と読みます。「代入」とは聞き慣れないかもしれませんが、「なにかを入れる」という意味です。


えー「=(イコール)」は「等しい」っていう意味だぞ と反論されるかもしれませんが、
それは数学においてのお話です。 プログラミング言語では、数学とは記号の意味を変えてしまって、「代入」という意味で使います。


数学と同じ意味では、「==」とイコールを2つ書くことにPHPの世界ではなります。
初めのうちは、やや親しみにくいですが、「=」で「代入」を意味するのは、プログラムの世界では常識ですので、慣れていきましょう。

プログラマたちはどう理解しているか

プログラマの人たちは、

$x = 1;

というのを見た瞬間に、「$xに1を代入する」とこのプログラムを読むことができます。
プログラムの世界では変数というものに値を代入できることを覚えましょう。


4章 変数をもっと使う

「変数」というものを初めて見たわけですが、
ここで変数の機能をもう一度確認してみましょう。

  • けっこう何でも入れれる
  • 名前を付けなければいけない
  • 箱の中身をとりだすことができる

でした。

三章で、

  • けっこう何でも入れれる
  • 名前を付けなければいけない

の部分は説明しましたが、

  • 箱の中身をとりだすことができる

の説明をまだしていませんでしたので、4章ではこの部分の説明をしたいと思います。
3章で、

<?php

$x = 1;

?>

を書きましたが、本当に1が入ったか確認する方法はないのでしょうか?
あります。print を使いましょう。 printは画面に表示するという意味でしたね。

print($x);

としてみましょう。

全体のソース(内容)は、

<?php

$x = 1;
print($x);

?>

となります。

実行してみましょう。

1

と表示されれば成功ですよ。
こんな風に、printを使うことで、変数の中身をとりだして見ることができました。


足し算させてみよう

さて、

いま、変数に数字の1を入れましたよね。

これに8を足して9という値を作り出してみましょう。

<?php

$x = 1;
$y = $x + 8;

?>

$y = $x + 8 のところが学習ポイントです。

$y は 9 になっていますよ。

ご自身で、 print $y; と付け加えてみて、表示させてみてください。


動作はこの絵のように$xの値が取り出されて、8が足され、
$yに代入されているのです。



では、次はどうでしょうか?

<?php

$x = 1;
$x = $x + 8;

?>

次の部分がむずかしいですね。

$x = $x + 8;

この処理を絵で表すとつぎのようになります。

先に右辺が処理されるのです(評価されるという)。

そして、その右辺が評価された結果が$xに代入されています。
つまり、$xが上書きされているイメージです。

このように「変数」の中身は書き換えたり(上書きしたり)して、どんどん値を変えます。

これが「変数」と呼ばれる所以なのです。