Developer

【PHP基礎】算術演算子とは
2020.09.30
Lv1

【PHP基礎】算術演算子とは

■算術演算子とは

算術演算子とは、最も基本的で簡単な足し算や引き算、掛け算、割り算を行う演算子です。
まずは使用する記号を一覧で確認し、具体的な使用方法について確認しましょう。

+ 加算 値の足し算や文字列の連結(後述)をする際に使用する
減算 値の引き算で使用する
* 乗算 値の掛け算で使用する
/ 除算 値の割り算で使用する
% 剰余 値の割り算の余り(剰余)を求める時に使用する
** 剰余 x²のような累乗を計算する際に使用する
++ 加算子 1加えた値で上書きする際に使用する(後述)
減算子 1減らした値で上書きする際に使用する(後述)
  • 加算( + )
    $a = 5;
    $b = 8;
    echo "a + b = ".($a + $b); // 5 + 8 の答えである 13 が表示される
    
  • 減算( – )
    $a = 12;
    $b = 4;
    echo "a - b = ".($a - $b); // 12 - 4 の答えである 8 が表示される
    
  • 乗算( * )
    $a = 3;
    $b = 4;
    echo "a × b = ".($a * $b); // 3 × 4 の答えである 12 が表示される
    
  • 除算( / )
    $a = 10;
    $b = 2;
    echo "a ÷ b = ".($a / $b); // 10 ÷ 2 の答えである 5 が表示される
    
  • 剰余( % )
    $a = 10;
    $b = 3;
    echo "a ÷ b のあまりは ".($a % $b); // 10 ÷ 3 の余りである 1 が表示される
    
  • 累乗( ** )※PHP5.6より追加
    $a = 10;
    $b = 2;
    echo "aのb乗は ".($a ** $b); // 10² の答えである 100 が表示される
    

■加算子・減算子とは

  • 加算子( ++ )
    変数の値 に「1」加える演算を行います。これを「インクリメント」と言います。

    $x = 10;
    echo ++$x; // 11 と表示される
    echo $x; // 変数xの中身に 1 増えているので同じく 11 と表示される
    
  • 減算子( — )
    変数の値 から「1」減らす演算を行います。これを「デクリメント」と言います。

    $x = 10;
    echo --$x; // 9 と表示される
    echo $x; // 変数xの中身が 1 減っているので同じく 9 と表示される
    

    ◆前置・後置

    加算子、減算子ともに記述する場所が変数の前か後で処理の順序が異なります。
    前置演算の場合は1の加算減算を行った後に別の処理を行うのに対し、
    後置演算の場合は別の処理を行った後に1の加算、減算が行われることに注意してください。

    // 前置演算
    $a = 10;
    $b = 10;
    echo ++$a; // 11 と表示される
    echo $a; // 変数aの中身が 1 増えているので同じく11と表示される
    echo --$b; // 9 と表示される
    echo $b; // 変数bの中身が 1 減っているので同じく9と表示される
    //後置演算
    $a = 10;
    $b = 10;
    echo $a++; // 変数aの中身の 10 を表示した後に、変数aに 1 加える
    echo $a; // 1 加えられた後の変数aの中身が表示されるので 11 と表示される
    echo $b--; // 変数bの中身の 10 を表示した後に、変数bから 1 減らす
    echo $b; // 1 減らした後の変数bの中身が表示されるので 9 と表示される
    

■文字列が混在する演算

算術演算子は数値だけでなく文字列でも演算は可能です。
数値と文字列が混在している場合は、
先頭の数値のみを数値として扱い、後ろの文字列は無視して演算されます。
※数値と文字列が混在している場合はエラーメッセージも表示される場合があります

echo '10' + '5'; // 15 ( 10 + 5 )
echo '10' + '5abc'; // 15 ( 10 + 5:abcは無視される )
echo '10' + 'abc5'; // 10 ( 10 + 0:先頭が数字でなので全て無視される)
echo '10' + '1.2E2'; // 22( 10 + 1.2 × 10²:指数表現も数値として扱うことが可能)


PHP基礎 連載目次リンク

PHP基礎 連載目次