Changement de type variable (jonglerie) PHP n'a pas besoin (ou ne prend pas en charge) une variable de nom pour spécifier son type variable; le type d'une variable est déterminé par l'avant et après la relation dans laquelle la variable est utilisée, c'est-à-dire, si vous attribuez une valeur de chaîne à un var variable, var devient une variable de chaîne. Si vous assignez un entier à var nouveau, il devient une variable d'entierceur. Un exemple de type variable de conversion automatique PHP est l'ajout de l'opérateur 'plus'. Si l'un des opérateurs est un double nombre, tous les nombres sont évalués en tant que numéros doubles, et le résultat est également un double nombre. Dans le cas contraire, le nombre d'opérations sera considéré comme des entiers, et le résultat sera intégrine. Notez que cela n'affecte pas le type variable de chaque nombre d'opérations elle-même, la seule modification est la façon dont le nombre d'opérations est traitée pendant le calcul.
$foo s "0"; $foo est une chaîne d'une valeur de "0" (ASCII 48) $foo; $foo est une chaîne d'une valeur de «1» (ASCII 49) $foo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $foo est maintenant un entier (2) $foo s $foo s 1.3; $foo est maintenant un numéro double (3.3) $foo s 5 s "10 Little Piggies"; $foo est un entier (15) $foo s 5 s "10 Small Pigs"; $foo est un entier (15) |
Si vous pensez que les deux dernières expressions dans l'exemple ci-dessus semblent un peu étranges, regardez la section "Conversions à cordes". Si vous souhaitez forcer une variable à être calculée en type fixe, regardez la section " casting "casting". Si vous souhaitez transformer le type d'une variable, voir la description de la fonction "settype". Déterminer le type de variable Étant donné que PHP détermine les types de variables elle-même et les transforme généralement au besoin, le type d'une variable particulière n'est pas très évident en tout temps. PHP comprend un certain nombre de fonctions pour connaître le type de variable. Ces fonctions sont gettype(), is-long(), is-double(), is-string(), is-array(), et is-object(). Force de type (type de coulée) Dans PHP, la force de type est similaire à en C : le type dont vous avez besoin est écrit entre parenthèses avant que la variable ne soit appliquée.
$foo s 10; $foo est un $bar entier (double) $foo; $bar est un double nombre |
Les méthodes d'application suivantes sont autorisées : (int), (intégriste) - forcé à des entiers (réel), (double), (float) - forcé en doubles (corde) - forcé dans les cordes (array) - forcé dans les tableaux (objet) - Forcé de s'opposer Notez que les onglets (tabs) et les espaces sont autorisés entre parenthèses, de sorte que les énoncés suivants sont équivalents: $foo s (int) $bar; $foo s (int) $bar; Conversion de cordes Lorsqu'une chaîne est calculée comme valeur numérique, son résultat et son type sont décrits ci-dessous. Si la chaîne contient les caractères '.', 'e', ou 'E', elle est traitée comme une variable de double type, sinon elle est traitée comme un entier. La valeur de cette chaîne est déterminée par la première partie du mot. Si la chaîne commence par un nombre valide de données, les données numériques sont la valeur de la chaîne qui participe à l'opération. Sinon, la valeur est nulle (zéro). Des données numériques efficaces suivent ces balises, suivies d'un ou de plusieurs nombres (qui peuvent contenir des décimales) et suivent un indice facultatif. Un index se compose d'un ou de plusieurs nombres suivant 'e' ou 'E'.
$foo s 1 s "10.5"; $foo est un numéro double (11,5) $foo s 1 s "-1.3e3"; $foo est un numéro double (-1299) $foo s 1 s "bob-1.3e3"; $foo est un entier (1) $foo s 1 s "bob3"; $foo est un entier (1) $foo s 1 s "10 Small Pigs"; $foo est un entier (11) $foo s 1 s "10 Little Piggies"; $foo est un entier (11); Cette chaîne inclut le caractère 'e' |
Pour plus d'informations, veuillez consulter le manuel unix sur le strtod (3). |