Unix Domain: Unix and UDG
List of Parser Tokens
Dodatki
PHP Manual

# Tabele porównań typów PHP

Poniższe tablice demonstrują zachowanie typów i operatorów porównania PHP, zarówno dla zwykłego i dokładnego porównania. Dodatek ten jest związany także z sekcją podręcznika dotyczącego żonglowania typami. Inspiracją do stworzenia takich tablic były komentarze użytkowników i praca w » BlueShoes.

Przed korzystaniem z tych tablic, niezbędne jest zrozumienie typów i ich znaczeń. Na przykład, "42" jest ciągiem znakowym (string), a 42 to liczba stałoprzecinkowa integer. `FALSE` jest typu boolean, "false" to string.

> Informacja: Formularze HTML nie przekazują zmiennych stałoprzecinkowych, zmiennoprzecinkowych czy typów logicznych. Zwracane są tylko stringi. Aby dowiedzieć się, czy string zawiera wartość liczbową, można skorzystać z funkcji is_numeric().

> Informacja: Proste wykonanie if ($x) w sytuacji, gdy zmienna $x jest niezdefiniowana, wygeneruje błąd poziomu `E_NOTICE`. Zamiast tego powinna być stosowana funkcja empty() lub isset(), i/lub zmienne powinny być inicjalizowane.

Porównanie zmiennej $x z funkcjami PHP
Wyrażenie | 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 jest niezdefiniowane | 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`

Porównania operatorem ==
| `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`

Porównania operatorem ===
| `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`

Unix Domain: Unix and UDG
List of Parser Tokens
Dodatki
PHP Manual