Services webmasters
Partenaires
Jeux concours gratuits
 
Syntaxe
<<<
Dépassement de capacité des entiers Conversion en entiers
>>>

4.2.3 Entiers
4.2 Les types
4 Référence
 Manuel PHP

Syntaxe
->Dépassement de capacité des entiers
Conversion en entiers

4.2.3.2 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 .
Dépassement de capacité des entiers

<?php
$large_number
=  2147483647;
var_dump($large_number);
// affiche : int(2147483647)

$large_number =  2147483648;
var_dump($large_number);
// affiche : float(2147483648)

// this goes also for hexadecimal specified integers:
var_dump( 0x80000000 );
// affiche : float(2147483648)

$million = 1000000;
$large_number =  50000 * $million;
var_dump($large_number);
// affiche : float(50000000000)
?>
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 .

En PHP , il n'y a pas de division entière. 1/2 sera un nombre à 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 ne 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 .

Il n'existe pas de division entière en PHP . 1/2 générera le float 0.5 . Vous pouvez forcer la valeur au format entier pour faire l'arrondi, ou bien utiliser les fonctions round , floor ou ceil .
Divisions entières

<?php
var_dump
(25/7);         
  
// float(3.5714285714286)
var_dump((int) (25/7));
  
// int(3)
var_dump(round(25/7));  
  
// float(4)
?>

<< Dépassement de capacité des entiers >>
Syntaxe Entiers Conversion en entiers
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -