12 Annexes
Manuel PHP
. Histoire de PHP . Migration de PHP 4 vers PHP 5 . Migration de PHP 3.0 à PHP 4.0 . Migration de PHP/FI 2.0 à PHP 3.0 . Débogueur PHP . Développement PHP . Options de configuration . Directives du php.ini . Liste des alias . Mots réservés en PHP . Types des ressources PHP . Liste des protocoles supportés . Liste des filtres standards . Liste des modes de transports de sockets disponibles ->Comparaison de types en PHP . Liste des token de l'analyseur . A propos du manuel . Open Publication License
|
12.15 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
chaîne de caractères , alors que
42
est un
entier .
FALSE
est
boolean
alors que
"false"
est une chaîne de caractères .
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)
génère une erreur de niveau
E_NOTICE
lorsque
$x
est
indéfini. Alternativement, utilisez plutôt les fonctions
empty
ou
isset
, ou encore,
initialisez toutes vos variables.
|
|
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
|
TRUE
|
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.
|
|