算術演算子を使ったときの変数挙動

プログラム
date 2013.03.16 tag 未設定
最終更新日 2014年01月04日
概要 PHPで「/=」などの算術演算子を使った場合、変数格納の挙動でちょっとつまずいたのでメモです。

算術演算子の基本的なことを確認

つまずいたときに見落としてたんですが「$x」に式の値が代入されます。

記述 展開イメージ
$x += 1 $x = $x + 1
$x *= 1 $x = $x * 1
$x /= 1 $x = $x / 1

サンプルコード

[php]
$x = 10;
$result = ($x /= 2) * $x * $x;
[/php]

この場合「5 * 5 * 5」として計算されて$resultは125になります。
考えてみたら当然だったんですけど「$x /= 2」で計算された$xの値は保持されます。
とりあえずPHPでのコードですが、他の言語でも同じかとおもわれです。