PHPでウェブの世界と繋がろう!
menu
ホーム > PHPの文法 > 4 演算子 > 4-5 代入演算子

4-5 代入演算子

Pocket

- 1 分ノート ! -

+= 加算代入 -= 減算代入
*= 乗算代入 /= 除算代入
%= 乗算代入 .= 連結代入
&= ビットAND代入 |= ビットOR代入
^= ビットXOR代入 ~= ビット否定代入
<<= 左シフト代入 >>= 右シフト代入
  • 代入演算子 は、変数に値を代入したり、変数の値を更新する
  • PHPの =(イコール) は、代入を意味する
  • 演算結果の代入は、
    右辺オペランドと左辺オペランドの演算結果を左辺オペランドに代入を意味する

代入演算子とは
POINT

  • 代入演算子 は、変数に値を代入したり、変数の値を更新する
  • PHPの =(イコール) は、代入を意味する

 代入演算子は変数に値を代入したり、変数の値を更新する演算子です。

代表的な代入演算子は「=(イコール)」です。これは、左辺オペランドに右辺オベランドの式の値を代入(式の値を得て代入)するものです。右辺オペランドの式の値を得てから代入します。

$var = '変数に文字列を代入します。';
echo $var;

結果は

変数に文字列を代入します。

となります。

PHPにおいての「=(イコール)」は等しいではなく代入を意味します。左辺オペランドは変数になります。右辺オペランドはリテラル値、変数、複雑な式、などで、右辺オペランドの結果の値が左辺オペランドの変数に代入されます。

以下は代入演算子「=(イコール)」を使用して左辺オペランドの変数に右辺オペランドの数値のリテラル値を代入しています。

$int = 10;
echo $int;

結果は

10

となります。

以下は代入演算子「=(イコール)」を使用して左辺オペランドの変数に右辺オペランドの式の結果の値を代入しています。

$int = 10 + 20;
echo $int;

結果は

30

となります。

代入する
POINT

  • 「=(イコール)」は代入

演算子 名前 結合時の評価 結果
= 代入演算子 left $a = $b $b の値を $a に代入

以下は代入演算子「=(イコール)」を使用して左辺オペランドの変数に右辺オペランドの文字列のリテラル値を代入しています。

$a = 'Hello World!';
echo $a;

結果は

Hello World!

となります。

以下は代入演算子「=(イコール)」を使用して左辺オペランドの変数に右辺オペランドの数値のリテラル値を代入しています。

$a = 10;
echo $a;

結果は

10

となります。

以下は代入演算子「=(イコール)」を使用して左辺オペランドの変数に右辺オペランドの式の結果の値を代入しています。

$a = 10 * 10;
echo $a;

結果は

100

となります。

以下は代入演算子「=(イコール)」を使用して左辺オペランドの変数に右辺オペランドの式の結果の値を代入し、さらに、その変数の値を他の変数へ代入しています。

$a = 10 * 10;
$b = $a;
echo $b;

結果は

100

となります。

演算結果の代入
POINT

  • 演算結果の代入は、
    右辺オペランドと左辺オペランドの演算結果を左辺オペランドに代入を意味する

 代入演算子では、右辺オペランドと左辺オペランドの演算結果を左辺オペランドに代入しています。
代入演算子の種類、優先順位、結合時の評価です。すべての演算子の種類や優先順位はこちらを参照下さい。

演算子 名前 結合時の評価 結果
+= 加算代入 left $a += $b a=a+b
$a + $b の値を $a に代入
-= 減算代入 left $a -= $b a=a-b
$a – $b の値を $a に代入
*= 乗算代入 left $a *= $b a=a*b
$a * $b の値を $a に代入
/= 除算代入 left $a /= $b a=a/b
$a / $b の値を $a に代入
%= 乗算代入 left $a %= $b a=a%b
$a % $b の値を $a に代入
.= 連結代入 left $a .= $b a=a.b
$a と $b を連結した値を $a に代入
&= ビットAND代入 left $a &= $b a=a&b
$a と $b のビットAND演算の結果を $a に代入
|= ビットOR代入 left $a |= $b a=a|b
$a と $b のビットOR演算の結果を $a に代入
^= ビットXOR代入 left $a ^= $b a=a^b
$a と $b のビットXOR演算の結果を $a に代入
~= ビット否定代入 left $a ~= $b  
<<= 左シフト代入 left $a <<= $b  
>>= 右シフト代入 left $a >>= $b  

以下は「$a += $b」の例です。a=a+b を意味します。

$a = 5;$b = 10;
$a += $b;
echo $a;

結果は

15

となります。

以下は「$a -= $b」の例です。a=a-b を意味します。

$a = 5;$b = 10;
$a -= $b;
echo $a;

結果は

-5

となります。

以下は「$a *= $b」の例です。a=a*b を意味します。

$a = 5;$b = 10;
$a *= $b;
echo $a;

結果は

50

となります。

以下は「$a /= $b」の例です。a=a/b を意味します。

$a = 5;$b = 10;
$a /= $b;
echo $a;

結果は

0.5

となります。

サンプルコード

– サンプル Click Here ! –

<h3>加算代入</h3>
<?php
$a = 5;$b = 10;
$a += $b;
echo $a;
?>

<h3>減算代入</h3>
<?php
$a = 5;$b = 10;
$a -= $b;
echo $a;
?>

<h3>減算代入</h3>
<?php
$a = 5;$b = 10;
$a *= $b;
echo $a;
?>

<h3>除算代入</h3>
<?php
$a = 5;$b = 10;
$a /= $b;
echo $a;
?>

<h3>剰余代入</h3>
<?php
$a = 5;$b = 10;
$a %= $b;
echo $a;
?>

<h3>ビット&代入</h3>
<?php
$a = 5;$b = 10;
$a &= $b;
echo $a;
?>

<h3>ビットOR代入</h3>
<?php
$a = 5;$b = 10;
$a |= $b;
echo $a;
?>

<h3>ビットXOR代入</h3>
<?php
$a = 5;$b = 10;
$a ^= $b;
echo $a;
?>

<h3>連結代入</h3>
<?php
$a = 'Hello';$b = ' World!';
$a .= $b;
echo $a;
?>
実行結果
代入
100

加算代入
15

減算代入
-5

減算代入
50

除算代入
0.5

剰余代入
5

ビット&代入
0

ビットOR代入
15

ビットXOR代入
15

連結代入
Hello World!

– サンプル Click Here ! –


タグ(=記事関連ワード)

日付

投稿日:2011年10月31日
最終更新日:2014年02月26日

関連記事

配列関数サンプル

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://www.tryphp.net/phpref-operators_assignment/trackback/