下記の表はPHPの型と 比較演算子 の振る舞いについて、緩やかな場合と厳密な場合の両方について 例を示しています。この付録はマニュアルの 型の相互変換 にも関連しています。種々のユーザーコメントと » BlueShoesの働きの おかげです。
この表を活用する前に、型とその意味について理解しておく必要があります。 例えば、"42"
は文字列ですが 42
は整数です。 false
はboolですが"false"
は 文字列です。
注意:
HTMLフォームは整数、浮動小数点数、booleanを渡してはくれず、 文字列を渡します。文字が数値であるかどうか確認するには、 is_numeric()を使うとよいでしょう。
注意:
$xが定義されていない状態で単に
if ($x)
とするとE_NOTICE
レベルのエラーが発生します。代わりに、empty()や isset()を使うか、あるいは変数を初期化するように してください。
注意:
数値演算の結果が、定数
NAN
で表される値になることがあります。 この値を他の値と比較すると、緩やかな比較および厳密な比較のいずれでも結果はfalse
になります。 自分自身と比較した場合も含みますが、true
と比較した場合は除きます。 (つまりNAN != NAN
でありNAN !== NAN
であるということです)。 結果がNAN
になる演算の例にはsqrt(-1)
やasin(2)
そしてacosh(0)
があります。
式 | gettype() | empty() | is_null() | isset() | bool : if($x) |
---|---|---|---|---|---|
$x = ""; | string | true | false | true | false |
$x = null; | NULL | true | true | false | false |
var $x; | NULL | true | true | false | false |
$x が未定義 | NULL | true | true | false | false |
$x = []; | array | true | false | true | false |
$x = ['a', 'b']; | array | false | false | true | true |
$x = false; | bool | true | false | true | false |
$x = true; | bool | false | false | true | true |
$x = 1; | int | false | false | true | true |
$x = 42; | int | false | false | true | true |
$x = 0; | int | true | false | true | false |
$x = -1; | int | false | false | true | true |
$x = "1"; | string | false | false | true | true |
$x = "0"; | string | true | false | true | false |
$x = "-1"; | string | false | false | true | true |
$x = "php"; | string | false | false | true | true |
$x = "true"; | string | false | false | true | true |
$x = "false"; | string | false | false | true | true |
true
でした。