[PHP-users 1241] Re: キーが0x7ffffff f 以上の共有メモリよセマフォが指定できません

Naofumi Kondoh php-users@php.gr.jp
Sat, 18 Aug 2001 15:04:38 +0900


ソフト工房の近藤です。

"S.Sugichan" wrote:
> 
> 杉山です。

(snip)

> //ループから抜けられない
> for($i=0;$i<2147483648;$i++)
> 
> //ループから抜けられる
> for($i=0;$i<2147483648;$i=$i+1)

これは面白いですね。

gettype($i) でみていると、$i = $i + 1  だと、
integer から double に自動的に型変換されるんですね。
INT型の 2147483647 に 1 を加算すると、DOUBLE 型の
2147483648 になるのでループを抜けられる。

$i++  だと INT型 のままなんで、  2147483647 を
increment  すると、 -2147483648  になってしまうん
ですね。

暗黙に型変換する言語って大嫌いなんですが、これで
また PHP の嫌いなところが増えてしまった。(^_^)。
といっても、便利がところの方が多いから、最近は、
PHP ばっかり使ってますが。 (^_^)。

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 (株)ソフト工房   近藤直文        Email:  nkon@shonan.ne.jp 
PostgreSQL+PHP ソースコードジェネレーター セミナースライド
          http://www.shonan.ne.jp/~nkon/cslpg.a.semi/
          http://www.SOFTKOUBOU.co.jp/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/