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

# 付録 O. PHP 型の比較表

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

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

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

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

表 O-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`

表 O-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` | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `TRUE` | `TRUE` | `FALSE`
1 | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
0 | `FALSE` | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `TRUE`
-1 | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE`
"1" | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
"0" | `FALSE` | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
"-1" | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE`
NULL | `FALSE` | `TRUE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `TRUE` | `FALSE`
array() | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE`
"php" | `TRUE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE`

表 O-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` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
1 | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
0 | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
-1 | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
"1" | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
"0" | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE` | `FALSE`
"-1" | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE` | `FALSE`
`NULL` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE` | `FALSE`
array() | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE` | `FALSE`
"php" | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `FALSE` | `TRUE`

> PHP 3.0 note: The string value "0" was considered non-empty in PHP 3, this behavior changed in PHP 4 where it's now seen as empty.

前のページ | ホーム | 次のページ
Unix Domain: UNIX and UDG | 上に戻る | パーサトークンの一覧