Manuel PHP

Table des matières

Préface
I. Au moment de commencer
II. Installation et configuration
III. Référence du langage
IV. Sécurité
V. Caractéristiques
VI. Référence des fonctions
VII. PHP et le moteur interne Zend
VIII. FAQ : foire Aux Questions
IX. Annexes
Remerciements



Annexe P. Comparaison de types en PHP

La table suivante résume les différents comportements 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.

Tableau P-1. Comparaisons de “$x” avec des fonctions PHP

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”

Tableau P-2. Comparaison large avec “==”

“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”

Tableau P-3. Comparaison stricte avec “===”

“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”
“0” “FALSE” “FALSE” “FALSE” “TRUE” “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”
Note PHP 3.0 : La chaîne de valeur ““0”” était considérée comme non vide en PHP 3. Ce comportement a changé en PHP 4, où elle est désormais considérée comme vide.

Travail collaboratif

Contribuez, en ajjoutant des elements a cette page de manuel :

Merci de votre aide
L’equipe Php.fr

 


Index | Afficher le texte source | Anciennes révisions | Derniers changements | Connexion
©2007 Wiki Copyright