ゼロから始めるPHP講座Vol08 演算子の種類



ゼロから始めるPHP講座Vol08 演算子の種類
目次
  1. ゼロから始めるPHP講座演算子の種類
  2. 演算子とは
  3. 算術演算子
  4. インクリメント演算子とデクリメント演算子
  5. 代入演算子
  6. 文字列演算子
  7. 比較演算子
  8. 論理演算子
  9. 演算子の優先順位
  10. 演算子の使用例
  11. 補足.その他の演算子について
  12. 課題

ゼロから始めるPHP講座演算子の種類

演算子とは

算数で足し算のときには+(プラス)、引き算のときは-(マイナス)など、記号を使って演算を表していたと思いますが、このような演算内容を指示する記号などのことを演算子と呼びます。

算術演算子

+(加算)、-(減算)、*(乗算)、/(除算)、%(剰余)があり、計算をするときに利用します。

php-operator1-639

インクリメント演算子とデクリメント演算子

++(インクリメント)は変数の値を1つ増やし、(デクリメント)は変数の値を1つ減らします。インクリメント演算子は加算子、デクリメント演算子は減算子とも呼びます。

php-operator2-639

具体的には、以下計算を行っているのと同じです。

php-operator3-639

どのような場合で利用するかは、「for」の講義にて説明します。

代入演算子

これまで何度も利用してきた「=」が代入演算子となります。

以前にも説明した通り、=の右側にある値を、=の左側に書かれた名前の変数に代入します。

なお代入演算子は、下記のように算術演算子と組み合わせて利用することも可能です。

文字列演算子

「.」(ドット)があり、文字と文字を結合します。


<?php
$my_name = '山田 太郎';
print '私の名前は' . $my_name . 'です';
?>

php-operator5-639

比較演算子

数値や変数を比較するときに用い、条件が成立した際はtrue、成立しない場合はfalseとなります。

比較演算子の例はPHPマニュアルを参照してください。

比較演算子例

「==」と「===」の違いは、型の比較を行うか否かとなります。

php-operator6-639

比較演算子と次に学ぶ論理演算子は単独で使うことがあまりない演算子で、後に学ぶ条件分岐(if)と合わせて利用することがほとんどです。

このため実際の使い方を含めた詳細については、「if」の講義にて説明します。

論理演算子

AND、OR、NOTなど、条件を複数組み合わせたり否定したりするときに使う演算子となります。

論理演算子

例えば「$num>=10&&$num<=30」とした場合、「変数$numは10以上かつ30以下」という条件になります。

実際の使い方を含めた詳細については、「if」の講義にて説明します。

演算子の優先順位

様々な演算子を紹介しましたが、各演算子には優先順位というものが設定されています。

php-operator7-639

例えば算数で上記のように足し算と掛け算が混ざっていた場合、掛け算を先に行うと習っているため、答えは23となります。

php-operator8-639

コンピュータでは演算子の優先順番に従って処理を行っており、「優先順位:>+>=」となっているため、掛け算()→足し算(+)→代入(=)の順に処理が行われ、同じく23という結果が$intの値となります。

もし演算子の優先順位と違う順番で処理を行いたい場合、括弧を使用します。

php-operator9-639

優先順位は意識せずに利用できるようになっていますが、括弧で囲うと強制的に優先順位を設定することができるため、演算子を複数利用する際は括弧の利用を推奨します。

演算子の使用例

演算子はプログラムを書く上で無くてはならないものですが、その中でも算術演算子を利用した例を紹介します。


<?php
$hp = 100;
?>
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>演算子の例</title>
</head>
<body>
<h2>初期のHP: <?php print $hp; ?></h2>
<p>攻撃</p>
<?php
$damage = mt_rand(1, 20);
$hp = $hp - $damage;
?>
<p><?php print $damage ?>のダメージ</p>
<p>残りHP: <?php print $hp; ?></p>
<p>追撃</p>
<?php
$damage = mt_rand(1, 20);
$hp = $hp - $damage;
?>
<p><?php print $damage ?>のダメージ</p>
<p>残りHP: <?php print $hp; ?></p>
</body>
</html>

php-operator10-639

補足.その他の演算子について

演算子は今回紹介したもの以外にもエラー制御演算子や実行演算子などがありますが、これらについては別途説明致します。

課題

以下に示す演算の結果を答えなさい。

$int1=7+7;

$int2=7+7/7;

$int3=7+(7/7);

$int4=(7+7)/7;

$int5=7+7/7+7;

$int6=(7+7)/7+7;

$int7=(7+7)/(7+7);

$int8=7+7*7/7+7;

$int9=7+(7+7*7/7+7);

NEXTLESSONif文を使った条件分岐の方法if文を使った条件分岐の方法

PREVLESSONデータ型の種類データ型の種類

CodeCampus編集部
この記事を書いた人
CodeCampus編集部
\ 無料体験開催中!/自分のペースで確実に習得!
オンライン・プログラミングレッスンNo.1のCodeCamp