PHP講座#4

今回の記事もPHP講座です!プログラムをたくさん書いて理解を深めてくださいね。
 それでは今回も張り切っていきましょう!

前回の復習

 前回の記事ではシングルクォーテーションとダブルクォーテーションの違いについて勉強しました。
 また、文字列演算子と簡単な算術演算子による演算を学びました。

前回の練習問題の解答

1問目

 現在のプログラムのままだと、"岩ちょこのバカヤロー"と表示されてしまいます。本人にばれたらまずいので、

$name のバカヤロー
と表示するプログラムになるように改造してください。

<?php
$name = "岩ちょこ";
echo "$name のバカヤロー<br>";
?>



解答

<?php
$name = "岩ちょこ";
echo '$name のバカヤロー<br>';
?>

2問目

 PHPで画面に

123
と表示するプログラムになるように一行追加してください。

<?php
$num_a = "12";
$num_b = "3";
?>



解答

<?php
$num_a = "12";
$num_b = "3";
echo $num_a . $num_b . "<br>";
?>

3問目

 岩ちょこは財布を家に忘れてきてしまいました。ポケットやカバンを漁ったところ105円出てきました。
1つ10円のお菓子を5個買います。この時、手元に残るお金はいくらでしょう。
 掛け算と引き算を使って、問題を解くプログラムを作成してみてください。



解答

<?php
$money = 105;
$price = 10;
$remain = 105 - $price * 5;
echo $remain . "<br>";
?>

今回の学習内容

 今回は演算子について勉強していきましょう。前回ちょこっと触れた演算子は小学校で習った知識があれば容易にわかるものを挙げておきましたが、他にもいろいろあるので、今回の記事ではたくさんある演算子を各グループごと勉強していきましょう。

 最初に勉強するのは算術演算子です。
 算術演算子は前回勉強した演算子でほとんど勉強し終わっていますが、累乗計算と負の値に変換する演算子が残っているので、復習を兼ねてもう一度見ていきましょう。

<?php
$value_a = 5;
$value_b = 3;

$result = $value_a + $value_b;
echo $result . "<br>";

$result = $value_a - $value_b;
echo $result . "<br>";

$result = $value_a * $value_b;
echo $result . "<br>";

$result = $value_a / $value_b;
echo $result . "<br>";

$result = $value_a % $value_b;
echo $result . "<br>";

$result = $value_a ** $value_b;
echo $result . "<br>";

$value_a = -$value_a;
echo $value_a . "<br>";
?>

8
2
15
1
2
125
-5
 実行して結果を見ればなんとなくわかると思いますが、折角の講座記事なので、解説をしていきます。

$result = $value_a + $value_b;
 この部分では、変数$value_aと$value_bの中の値を足し合わせたものを、変数$resultに代入しているんでしたよね。
 それと同じ考え方でこの部分も見ていきましょう。
$result = $value_a ** $value_b;
 ここで使われている演算子(**)は累乗計算をするための演算子です。5 ** 3 のように使うと5の3乗を計算します。練習問題に入れておくので練習してみてください。

$value_a = -$value_a;
 この部分では、先程までとは違い変数が1つしか使われていません。この演算子は、変数の符号を反転させたい時に使います。
これを知らなくても、変数に-1をかけたり、0 - $value_a をしたりすれば、欲しい値が作れるので無理に詰め込まなくても大丈夫です。
 マイナス符号と考えれば簡単なんですけど、プログラムに慣れないうちは分かりづらい物なのかもしれません。

さっき紹介した演算子は省略して書くこともできるのですが、それこそ無理に覚えなくてもプログラムは書けるので紹介するだけにとどめておきます。

<?php
$value_a = 5;
$value_b = 3;

$value_a += $value_b; //$value_a = $value_a + $value_b;と同じ
echo $value_a . "<br>";

$value_a -= $value_b; //$value_a = $value_a - $value_b;と同じ
echo $value_a . "<br>";

$value_a *= $value_b; //$value_a = $value_a * $value_b;と同じ
echo $value_a . "<br>";

$value_a /= $value_b; //$value_a = $value_a / $value_b;と同じ
echo $value_a . "<br>";

$value_a %= $value_b; //$value_a = $value_a % $value_b;と同じ
echo $value_a . "<br>";

$value_a **= $value_b; //$value_a = $value_a ** $value_b;と同じ
echo $value_a . "<br>";

$value_a++; //$value_a = $value_a + 1;と同じ(++の演算子はインクリメントと呼ばれています)
echo $value_a . "<br>";

$value_a--; //$value_a = $value_a - 1;と同じ(--の演算子はデクリメントと呼ばれています)
echo $value_a . "<br>";

 ちなみに、"/"の演算子は整数同士割り算の時は商を計算しますが、どちらかが小数になると割り切れるまで計算することも練習問題で確認してみましょう。

 論理演算子と比較演算子は次回の記事でみっちり学ぶことになるのでここでは割愛。

 ビット演算子と実行演算子については初学者が使うことはまずないので、基本的なことを全部学び終えた後でじっくり解説します。

 ということで、残ったのは文字列演算子ぐらいですが、さっきまでのプログラムにも散々出てきているので今更語ることもないんだよね。
 "."を使うと連結することができるよ!!という演算子で、

$string = "moji" . "retu";
のように使う。

まとめ

 今回の記事では算術演算子による演算と文字列演算子を学びました。半分くらいは復習だったので退屈だった人が多かったかもしれません。(;'∀')
 ただ、次回は初学者にとって第一の関門になるであろう、条件分岐についての記事を書いていきます。その際に比較演算子と論理演算子が登場するのでお楽しみに!!

練習問題

1問目

 岩ちょこ(22歳)には19歳との14歳の弟がいます。この3人の年齢の合計を求めてください。

2問目

 このプログラムはどのような値を出力するでしょうか。考えた後、実際に試してみてください。

<?php
$num_a = 7;
$num_b = 4;
$num_c = 5;
echo ($num_a - $num_b) ** $num_c;
?>

3問目

 次の数字は、5人の生徒が数学のテストの点数です。

17, 18, 43, 76, 97
 この5人の数学のテストの平均点を求めるプログラムを書いてください。


最後まで見ていただきありがとうございます。また別の記事でお会いできることを祈っております。



www.iwachoco-blog.com
www.iwachoco-blog.com