Liste des modes de transports de sockets disponibles
<<<
Comparaison de types en PHP Liste des token de l'analyseur
>>>

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.

Expression gettype empty is_null isset boolean : if($x)
$x = ""; chaîne de caractères 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; entier FALSE FALSE TRUE TRUE
$x = 42; entier FALSE FALSE TRUE TRUE
$x = 0; entier TRUE FALSE TRUE FALSE
$x = -1; entier FALSE FALSE TRUE TRUE
$x = "1"; chaîne de caractères FALSE FALSE TRUE TRUE
$x = "0"; chaîne de caractères TRUE FALSE TRUE FALSE
$x = "-1"; chaîne de caractères FALSE FALSE TRUE TRUE
$x = "php"; chaîne de caractères FALSE FALSE TRUE TRUE
$x = "true"; chaîne de caractères FALSE FALSE TRUE TRUE
$x = "false"; chaîne de caractères 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 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.

<< Comparaison de types en PHP >>
Liste des modes de transports de sockets disponibles Annexes Liste des token de l'analyseur