1

PHP ドキュメントの型比較チャートは、厳密な比較===と緩やかな==比較の両方の結果を示しています。不等式の比較については何もありません。

true < 0 => false
0 < true => true
true < 1 => false
1 < true => false
true < -1 => false
-1 < true => false

false < 0 => false
0 < false => false
false < 1 => true
1 < false => false
false < -1 => true
-1 < false => false

誰かが上記の結果を合理化できますか?

4

2 に答える 2

1

ブール値を整数に変換する場合、true は 1 に変換され、false は 0 に変換されます。

PHP マニュアルから: http://php.net/manual/en/language.types.integer.php

ブール値から

FALSE は 0 (ゼロ) を生成し、TRUE は 1 (1) を生成します。

また:

-1 は、他のゼロ以外の (負または正の) 数値と同様に、TRUE と見なされます。

true  < 0 => false => true < (bool)(0) => true < false => 1 < 0 = false
0 < true => true  => (bool)(0) < true => false < true => 0 < 1 = true
true < 1 => false => true < (bool)(1) => true < true => 1 < 1 = false
1 < true => false => (bool)(1) < true => => true < true => 1 < 1 = false
true < -1 => false => true < (bool)(-1) => true < true => 1 < 1 = false
-1 < true => false => (bool)(-1) < true => true < true = > 1 < 1 = false

false < 0 => false => false < (bool)(0) => false < false => 0 < 0 = false
0 < false => false => (bool)(0) < false => false < false => 0 < 0 = false
false < 1 => true => false < (bool)(1) => false < true => 0 < 1 = true
1 < false => false => (bool)(1) < false => true < false => 1 < 0 = false
false < -1 => true => false < (bool)(-1) => false < true => 0 < 1 = true
-1 < false => false => (bool)(-1) <  false => true < false => 1 < 0 =  false
于 2013-09-03T06:29:59.293 に答える
0

真 < 0 => 偽 ===> 1 < 0 => 偽 (0==0 ==>真)
0 < 真 => 真 ===> 0 < 1 => 真
真 < 1 => 偽 == => 1 < 1 => 偽 (1==1 ==>真)
1 < 真 => 偽 ===> 1 < 1 => 偽 (1==1 ==>真)
真 < -1 => false ===> 1 < -1 => false
-1 < true => false ===> -1 < 1 => false ======> 1 < 1 => false (ブール型は符号なしとして扱われる) )
===> false < 0 => false ===> 0 < 0 => false
0 < false => false ===> 0 < 0 => false
false < 1 => true ===> 0 < 1 => true
1 < false => false ===> 1 < 0 => false
false < -1 => true ===>0 < -1 => true ======> 0 < 1 => true (ブール型は符号なしとして扱われる)
-1 < false => false ===> -1 < 0 => false ======> 1 < 0=> false (boolean 型は unsigned として扱われる)

于 2013-09-03T07:13:53.537 に答える