[PHP-users 1393] Re: PHPのint 境界とfloatへの型変換

Yasuo Ohgaki php-users@php.gr.jp
Thu, 23 Aug 2001 08:10:24 +0900


大垣です。

> 杉山です
*SNIP*
> PHPの
> $i++ではint境界において型変換が行われず2147483647に+1した内容
> は-2147483648となります。
> $i=$i+1はint境界において型変換が行われfloat型となり2147483647に+1し
た内
> 容は2147483648となります。
>
> この動きに違いの理由が判るはいらっしゃいますか?
>
> PHP単なるバグなんでしょうか?
> それとも$i++はループで多用されるため、出来るだけ早いコードにしようと
した
> 結果なのでしょうか?

確か、これはバグレポートされておりFIXEDになっていたと思います。
4.0.7-devまたはRC1を試して見てはどうでしょうか?

# float(double) int(long) convert 等のKeywordで検索すると見つか
# ると思います。IIRC

--
Ohgaki, Yasuo (大垣 靖男) 
Mail: yohgaki@dd.iij4u.or.jp