Forum und email

Tabelele de comparaţii ale tipurilor PHP

Tabelele următoare demonstrează comportamentul tipurilor şi operatorilor de comparare din PHP, pentru ambele tipuri de comparaţii — libere şi stricte. Acest supliment de asemenea are legătură şi cu secţiunea din manual despre jonglarea cu tipurile. Inspiraţia a fost adusă de diverse comentarii ale utilizatorilor şi de lucrările de la » BlueShoes.

Înainte de a utiliza aceste tabele, este important de a întelege tipurile şi însemnătatea lor. Spre exemplu "42" este un string, în timp ce 42 este un integer. FALSE este un boolean, în timp ce "false" este un string.

Notă: Formularele HTML nu transmit tipuri integer, float, sau boolean; ele transmit string-uri. Pentru a afla dacă un string este numeric, puteţi folosi is_numeric().

Notă: Facând, pur şi simplu, if ($x), în timp ce $x nu este definit va genera o eroare de nivelul E_NOTICE. În loc, consideraţi utilizarea empty() sau isset() şi/sau iniţializaţi variabilele.

Comparaţiile $x cu funcţiile PHP
Expresia 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

Comparaţiile libere cu ==
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()