4.2.3 Entiers
4.2 Les types
4 Référence
Manuel PHP
->Dépassement de capacité des entiers . Conversion en entiers
|
4.2.3.1 Dépassement de capacité des entiers
Si un nombre est hors de l'intervalle de validité
des entiers, il sera interprété comme un
float
.
<?php $large_number = 2147483647; var_dump($large_number); // affiche : int(2147483647)
var_dump( 0x80000000 ); // affiche : float(2147483648)
var_dump( 25/7 ); // affiche : float(3.5714285714286) ?>
|
De même, si une fonction ou un opérateur retourne un entier qui
est hors des limites de validité des entiers, il sera aussi
automatiquement converti en
float
.
<?php $million = 1000000; $large_number = 50000 * $million; var_dump($large_number); // affiche : float(50000000000) ?>
|
En PHP, il n'y a pas de division entière.
1/2
sera un nombre 1agrave; virgule flottante (
float
)
de valeur
0.5
.
| Attention | |
Malheureusement, il y a un bug dans le moteur (corrigé en 4.1.0),
qui fait que PHP que fonctionne pas toujours bien lorsque des nombres
négatifs sont utilisés. Lorsque les deux opérandes
sont positifs, il n'y a pas de problèmes. Par exemple :
-50000 * $million
, conduit à
-429496728
.
|
|