11 Appendices
Manuel PHP
. Histoire de PHP . Migration de PHP 3.0 à PHP 4.0 . Migration de PHP/FI 2.0 à PHP 3.0 . Débuggeur PHP . Développement PHP . Liste d'alias . Mots réservés en PHP . Types des ressources PHP . Liste des protocoles supportés . Liste des modes de transports de sockets disponibles ->Comparaison de types en PHP . Liste des token de l'analyseur . A propos du manuel
|
11.11 Comparaison de types en PHP
La table suivante résume les différents comportement de
PHP
avec les types et
opérateurs de comparaison ,
strictes ou larges. Cette table est aussi reliée au
transtypage .
Elle a été inspirée par différents commentaires d'utilisateurs,
et par le travail fait chez BlueShoes .
Avant d'utiliser ces tables, il est important de comprendre les types
et leur signification. Par exemple,
"42"
est une
string
, alors que
42
est un
integer
.
FALSE
est
boolean
alors que
"false"
est une
string
.
Note |
Les formulaires HTML ne connaissent pas les entiers, nombres à virgules
et autres booléens. Pour savoir si une structure est un entier, utilisez
is_numeric
.
|
Note |
La ligne
if ($x)
lorsque
$x
est
indéfini par générer une erreur de niveau
E_NOTICE
.
Alternativement, utilisez plutôt les fonctions
empty
ou
isset
, ou encore, initialisez toutes vos variables.
|
|
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
est indéfini |
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
|
|
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
|
|
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
|
Note | Note PHP 3.0
La chaîne de valeur
"0"
était considéré comme
non vide en
PHP
3. Ce comportement a changé en
PHP
4, où il est désormais
considéré comme vide.
|
|