PHP のいくつかの模擬試験とスタディ ガイドを調べたところ、次の例に出くわしました。
$a = array(1, 2, 3);
foreach ($a as $x)
$x *= 2;
echo $a[0] * $a[1] * $a[2];
これは を返します6
。
私の質問は次のとおり*=
です。演算子は正確には何を意味しますか?
$x *= 2;
に過ぎない
$x = $x * 2;
次のショートカットです。
$x = $x * 2
C にさかのぼり、自然な (人間の観点から) 「$x を 2 で乗算する」ことを説明する構文は、プログラムによる「$x の値を取得し、2 で乗算し、$x に再割り当てする」ではなく、次のようになります。 Kernighan と Ritchie は、C プログラミング言語で次のように述べています。
すべての数値演算子に適用できます。
$x = $x + 2 <---> $x += 2
$x = $x - 2 <---> $x -= 2
$x = $x / 2 <---> $x /= 2
etc...
ちなみに、印刷された値6
は関係ありません。
$x *= 2;
は$x = $x * 2;
(like +=
and -=
and .=
etc)と同じです
+=
、*=
、/=
および-=
は複合演算子です。コードでは、次のように展開されます。
$x = $x * 2