今回は計算方法を見ていきます。
四則演算
四則演算の足し算、引き算、掛け算、割り算は数字同士を + , – , * , / でつなげることで実現できます。
例) 5 + 4, 5 – 4, 5 * 4, 5 / 4
掛け算と割り算が人間世界で使い文字と違うので注意です。
shisoku.phpというファイルに以下の内容を記載して保存して実行みましょう。
|
1 2 3 4 5 6 |
<?php echo 5 + 4; echo 5 - 4; echo 5 * 4; echo 5 / 4; |
|
1 2 |
$ php shisoku.php 91201.25$ |
またしてもくっついて出力されてしまったので、改行をいれます。
このまま「.」でつなげないので、計算式を「()」で囲ってからつなぎます。
|
1 2 3 4 5 6 |
<?php echo (5 + 4) . "\n"; echo (5 - 4) . "\n"; echo (5 * 4) . "\n"; echo (5 / 4) . "\n"; |
|
1 2 3 4 5 |
$ php shisoku.php 9 1 20 1.25 |
次に変数に代入してから計算します。
|
1 2 3 4 5 6 7 8 9 |
<?php $num1 = 5; $num2 = 4; echo ($num1 + $num2) . "\n"; echo ($num1 - $num2) . "\n"; echo ($num1 * $num2) . "\n"; echo ($num1 / $num2) . "\n"; |
|
1 2 3 4 5 |
$ php shisoku.php 9 1 20 1.25 |
あまりの計算
割り算した余りの計算方法は「%」を使います。
|
1 2 3 4 5 6 7 8 9 10 |
<?php $num1 = 5; $num2 = 4; echo ($num1 + $num2) . "\n"; echo ($num1 - $num2) . "\n"; echo ($num1 * $num2) . "\n"; echo ($num1 / $num2) . "\n"; echo ($num1 % $num2) . "\n"; |
|
1 2 3 4 5 6 |
$ php shisoku.php 9 1 20 1.25 1 |
比較演算
次に比較演算についてです。
比較演算はif文などの条件文で使います。
比較した結果が正しければ true(1)に、誤っていればfalse(空)になります。
実行した結果、何か値がでてくることを、値を返すといいます。
なのでこの場合は、「trueを返す」のようにいいます。
| 演算子 | 読み方 | 機能 | 例 | 結果 |
|---|---|---|---|---|
| == | 等しい | 型変換して値が等しければ true | 5 == “5” | true |
| === | 厳密に等しい | 型も値も同じなら true | 5 === “5” | false |
| != | 等しくない | 型変換して値が違えば true | 5 != “4” | true |
| <> | 等しくない | != と同じ意味 | 5 <> 5 | false |
| !== | 厳密に等しくない | 型または値が違えば true | 5 !== “5” | true |
| > | より大きい | 左が右より大きければ true | 10 > 3 | true |
| < | より小さい | 左が右より小さければ true | 3 < 10 | true |
| >= | 以上 | 左が右以上なら true | 5 >= 5 | true |
| <= | 以下 | 左が右以下なら true | 3 <= 10 | true |
| <=> | スペースシップ | 左と右を比較し 小=-1 / 等しい=0 / 大=1 を返す | 5 <=> 10 | -1 |
以下に、プログラムソースとその実行例を示しますのでそれぞれの結果を確認してみてください。
hikaku.php
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php $num1 = 5; $num2 = 4; $num3 = 4; echo "$num1 == $num2 → " . ($num1 == $num2). "\n"; echo "$num2 == $num3 → " . ($num2 == $num3). "\n"; echo "$num1 > $num2 → " . ($num1 > $num2). "\n"; echo "$num2 > $num3 → " . ($num2 > $num3). "\n"; echo "$num1 < $num2 → " . ($num1 < $num2). "\n"; echo "$num2 < $num3 → " . ($num2 < $num3). "\n"; echo "$num1 >= $num2 → " . ($num1 >= $num2). "\n"; echo "$num2 >= $num3 → " . ($num2 >= $num3). "\n"; echo "$num1 <= $num2 → " . ($num1 <= $num2). "\n"; echo "$num2 <= $num3 → " . ($num2 <= $num3). "\n"; echo "$num1 != $num2 → " . ($num1 != $num2). "\n"; echo "$num2 != $num3 → " . ($num2 != $num3). "\n"; |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ php hikaku.php 5 == 4 → 4 == 4 → 1 5 > 4 → 1 4 > 4 → 5 < 4 → 4 < 4 → 5 >= 4 → 1 4 >= 4 → 1 5 <= 4 → 4 <= 4 → 1 5 != 4 → 1 4 != 4 → |
論理演算
論理演算は、条件を AND(かつ)・OR(または)・NOT(否定)などで組み合わせて、
最終的に true / false を判断すること です。
論理演算には以下のものがあります。
| 論理演算子 | 意味 | 戻り値 | 説明 |
|---|---|---|---|
| && | AND(かつ) | 両方 true のとき true | 条件A かつ 条件B |
| || | OR(または) | どちらかが true なら true | 条件A または 条件B |
| ! | NOT(否定) | true ↔ false | 条件の真偽を反転する |
| and | AND(かつ) | 両方 true のとき true | && と同じだが優先順位が低い |
| or | OR(または) | どちらかが true なら true | || と同じだが優先順位が低い |
| xor | 排他的 OR | 片方だけ true のとき true | 両方 true なら false |
&&(かつ)を使った例
|
1 2 3 4 5 6 7 |
<?php $age = 20; $gender = "male"; if ($age >= 18 && $gender == "male") { echo "成人男性です"; } |
||(または)を使った例
|
1 2 3 4 5 6 |
<?php $score = 85; if ($score > 90 || $score < 70) { echo "評価対象外です"; } |
XOR(排他的OR)を使った例
|
1 2 3 4 5 6 7 |
<?php $logged_in = true; $is_guest = false; if ($logged_in xor $is_guest) { echo "状態はどちらか一方のみです"; } |
!(否定)を使った例
|
1 2 3 4 5 6 |
<?php $isLogin = false; if (!$isLogin) { echo "ログインしていません"; } |
次回は制御構文(条件分岐や繰り返し処理)です。