[PHP-doc 731] Re: http://www.php.net/manual/ja/language.expressions.php

TAKAGI Masahiro matakagi @ gmail.com
2008年 6月 19日 (木) 06:53:46 JST


高木です。

2008/6/18  <masuhara.- @ jp.panasonic.com>:
> こんにちは。
> http://www.php.net/manual/ja/language.expressions.php
> 多くの場合は、'$a = $a + 3' と書かれます。 '$a + 3' は、$a + 3 の値を
> 評価し、$a に代入します。 この結果、$a に 3 が加えられます。 PHP にお
> いては、C のような他の言語と同様に、 この例をより短かく書くことができ
> ます。 これにより、より明確になり、同時に理解も迅速になります。 $a の
> 現在の値に 3 を加える式は、 '$a += 3' と書くことができます。 この式の
> 正確な意味は、 "$a の値を取得し、それに 3 を加え、$a に再代入しなさい。
> " です。 より短く、明確になっただけでなく、実行もより高速になります。
> '$a =+ 3' の値は、通常の代入と同様に、代入された値です。 この値は 3 で
> はなく、$a に 3 を加えた加算値 (この値が、$a に代入された値です。)であ
> ることに注意してください。
>
> 下から三行目の $a =+ 3 は $a += 3 ではないでしょうか。
> $a =+ 3の値は3になると思います。
>
これは明らかな誤訳ですね。原文では正しく "+=" になっています。

> また、「'$a + 3' は、$a + 3 の値を評価し、$a に代入します。」ですが、
> $a + 3は値を評価するだけで$aには代入しないと思うので、この文はちょっと
> あいまいだと思います。
> '$a + 3' evaluates to the value of $a plus 3, and is assigned back
> into $a, which results in incrementing $a by 3.
> and以降は'$a = $a + 3'について言っていると思います。
>
確かに今のままだと '$a + 3' が代入まで行っているように解釈できてしまい
ますね。少し意訳気味ですが、以下のように書き直してみました。いかがでしょ
うか?

+   ふつうは、'$a = $a + 3' と書きます。
+   '$a + 3' の部分で $a の値に 3 を加えた値を評価し、
+   その結果を $a に代入するというわけです。

これで問題がなさそうなら、この週末にでも修正しておきます。

-- 
TAKAGI Masahiro mailto:matakagi @ gmail.com


PHP-doc メーリングリストの案内