As seguintes tabelas demonstram o comportamento dos
tipos e
operadores
de comparação no PHP, tanto para comparações frouxas ou rígidas. Este
complemento é também relacionado com a seção do manual sobre
type juggling.
A inspiração vem dos comentários de vários usuários e do trabalho feito pela
» BlueShoes.
Antes de utilizar essas tabelas, é importante entender os tipos e seus
significados. Por exemplo, "42" é uma string
enquanto 42 é um integer. Nota:
Formulários HTML não passam inteiros, floats ou booleanos; eles passam strings.
Para saber se uma string é do tipo númerico, você pode usar a função
is_numeric().
Nota:
Usar apenas if ($x) quando $x estiver
indefinido irá gerar um erro do nível Nota:
Algumas operações númericas podem resultar em um valor representado pela constante
Tabela de comparações de tipos do PHP
FALSE
é um
boolean enquanto "false" é uma
string.
E_NOTICE
.
Em vez disso, considere usar empty() ou
isset() e/ou inicialize suas variáveis.
NAN
. Quaisquer comparações rígidas ou frouxas deste valor
contra qualquer outro valor, incluindo ele mesmo, terão como resultado FALSE
.
(por exemplo NAN != NAN e NAN !== NAN)
Exemplos de operações que geram NAN
são
sqrt(-1), asin(2), e
asinh(0).
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 = array('a', 'b');
array
FALSE
FALSE
TRUE
TRUE
$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
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
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
Menu
Tutoriais de Tecnologia Web
Áreas
Blogs
Sites Sociais