B150 代算・代入演算子

代入演算子とは変数に対して値を代入するときに用いられます。複雑な代入方法もありますので今回は代入演算子について紹介します。

代入演算子について

記号記述例概要
=$x = 87値を変数に代入
+=$x += 5左辺の値に右辺の値を足したものを代入
-=$x -= 7左辺の値から右辺の値を引いたものを代入
*=$x *= 3左辺の値と右辺の値を掛けたものを代入
/=$x /= 12左辺の値を右辺の値で割ったものを代入
%=$x %= 3左辺の値を右辺のアタで割った余りを代入

代入

代入は = を用い、左辺の変数に右辺の値を代入します。

PHP
$number = 1;
//変数numberへ1が代入される。

加算・減算代入

加算・減算代入は+=、-=を用い、変数の値に数値を加算・減算したものを再び変数に代入します。

PHP
$number = 1;
$number += 5;  
// numberに5を加算したものをnumberに再代入しているためnumberは値は6となる。

$number = 1;
$number = $number + 5;  
//加算演算子を用いない記述方法。

$number = 5;
$number -= 1;  
// numberに1を減算したものをnumberに再代入しているためnumberは値は4となる。

$number = 5;
$number = $number - 1;  
//減算演算子を用いない記述方法。

乗算・除算代入

乗算・除算代入は*=、/=を用い、変数の値に数値を乗算・除算したものを再び変数に代入します。

PHP
$number = 2;
$number *= 3;  
// numberに3を乗算したものをnumberに再代入しているためnumberは値は6となる。

$number = 2;
$number = $number * 3;  
//乗算演算子を用いない記述方法。

$number = 6;
$number /= 2;  
// numberに2を除算したものをnumberに再代入しているためnumberは値は3となる。

$number = 6;
$number = $number / 2;  
//除算演算子を用いない記述方法。

剰余代入

剰余代入は%=を用い、変数の値に数値を除算した際の余りを再び変数に代入します。

PHP
$number = 5;
$number %= 2;  
// numberに2を除算した際の余りをnumberに再代入しているためnumberは値は1となる。

演算子の優先順位

複数の演算子を用いた場合、乗算・除算を行なってから加算・減算を行います。優先順位が同等の際は左から行われます。()で囲い、グループ化することで特定の演算を優先的に行うこともできます。

乗算・除算と加算・減算の優先順位

PHP
$number = 10 + 5 * 2
//numerの値は5に2が乗算された数値に10が加算されるため20になります。 

乗算と除算の優先順位

PHP
$number = 10 * 5 / 2
//numerの値は10に5が乗算された数値に2が除算されるため25になります。 
//乗算と除算の優先順位は同等なため左から行われます。

()でグループ化した際の優先順位

PHP
$number = (10 + 5) * 2
//numerの値は10に5が加算された数値に2が乗算されるため30になります。 
// ()を用いてグループ化した際にはグループ内の計算が優先されます。

例題

以下コードの出力値はどれか

PHP
$number = 1;
$number += 5;  
$number -= 3;
echo $number;
  1. 3
  2. 5
  3. 1
  4. 2
回答

1. 3
加算代入を用い5を加算した後に、減算代入を用い3を減算し、 1+5-3 = 3となるため。

以下コードの出力値はどれか

PHP
$number = 5;
$number *= 2;  
$number %= 3;
echo $number
  1. 13
  2. 1
  3. 3
  4. 2
回答

2. 1
乗算代入を用い2を乗算した後に、剰余代入を用い3を除算した際の余りを代入し、 5×2÷3 = 3余り1となるため。

以下コードの出力値はどれか

PHP
$number = 10 + 6 / 2
echo $number
  1. 8
  2. 32
  3. 13
  4. 22
回答

3. 13
6を2で除算した数値に10を加算するので、6 ÷ 2 = 3, 3 + 10 = 13なため。

---