PHP マニュアル
前のページ |  | 次のページ

# 付録 P. PHP 型の比較表

下記の表はPHPの型と 比較演算子 の振る舞いについて、緩やかな場合と厳密な場合の両方について 例を示しています。この付録はマニュアルの 型の相互変換 にも関連しています。種々のユーザーコメントと BlueShoesの働きの おかげです。

この表を活用する前に、型とその意味について理解しておく必要があります。 例えば、`"42"`は文字列ですが `42`は整数です。 `FALSE`はbooleanですが`"false"`は 文字列です。

> 注意: HTMLフォームは整数、浮動小数点数、booleanを渡してはくれず、 文字列を渡します。文字が数値であるかどうか確認するには、 is_numeric()を使うとよいでしょう。

> 注意: `$x`が定義されていない状態で単に `if ($x)`としてしまうと`E_NOTICE` レベルのエラーが発行てしまいます。代わりに、empty()や isset()を使うかあるいは変数を初期化するように してください。

表 P-1. `$x` PHP関数での`$x`の比較

Expression | gettype() | empty() | is_null() | isset() | boolean : `if($x)`
--- | --- | --- | --- | --- | ---
`$x = "";` | string | `TRUE` | `FALSE` | `TRUE` | `FALSE`
`$x = `NULL`` | NULL | `TRUE` | `TRUE` | `FALSE` | `FALSE`
`var $x;` | NULL | `TRUE` | `TRUE` | `FALSE` | `FALSE`
`$x` is undefined | NULL | `TRUE` | `TRUE` | `FALSE` | `FALSE`
`$x = array();` | array | `TRUE` | `FALSE` | `TRUE` | `FALSE`
`$x = false;` | boolean | `TRUE` | `FALSE` | `TRUE` | `FALSE`
`$x = true;` | boolean | `FALSE` | `FALSE` | `TRUE` | `TRUE`
`$x = 1;` | integer | `FALSE` | `FALSE` | `TRUE` | `TRUE`
`$x = 42;` | integer | `FALSE` | `FALSE` | `TRUE` | `TRUE`
`$x = 0;` | integer | `TRUE` | `FALSE` | `TRUE` | `FALSE`
`$x = -1;` | integer | `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`

表 P-2. `==`による緩やかな比較

| `TRUE` | `FALSE` | `1` | `0` | `-1` | `"1"` | `"0"` | `"-1"` | `NULL` | `array()` | `"php"` | `""`
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
`TRUE` | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `TRUE` | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE`
`FALSE` | `FALSE` | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `TRUE` | `TRUE` | `FALSE` | `TRUE`
`1` | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
`0` | `FALSE` | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `TRUE` | `TRUE`
`-1` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
`"1"` | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
`"0"` | `FALSE` | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
`"-1"` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
`NULL` | `FALSE` | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `TRUE` | `FALSE` | `TRUE`
`array()` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `TRUE` | `FALSE` | `FALSE`
`"php"` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE`
`""` | `FALSE` | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE`

表 P-3. `===`による厳密な比較

| `TRUE` | `FALSE` | `1` | `0` | `-1` | `"1"` | `"0"` | `"-1"` | `NULL` | `array()` | `"php"` | `""`
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
`TRUE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
`FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
`1` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
`0` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
`-1` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
`"1"` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
`"0"` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
`"-1"` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
`NULL` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE`
`array()` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE`
`"php"` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE`
`""` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE`

> PHP 3.0 に関する注意: 文字列 `"0"` は、PHP 3 では空の値とみなされませんでした。 この挙動は PHP 4 で変更され、現在は空の値とみなされます。

前のページ | ホーム | 次のページ
Unix ドメイン: UNIX および UDG | 上に戻る | パーサトークンの一覧