SommaireTelecharger la documentationChapitre suivantChapitre precedent  

 
Raccourci :  
Les types

Introduction
Booléens
Conversion en booléen
Entiers
Dépassement de capacité des entiers
Conversion en entiers
Depuis un booléen
Depuis un nombre à virgule flottante
From strings
Conversion d'autres types

Les nombres à virgule flottante
Les chaînes de caractères
Syntax
guillemets simples
Guillemets doubles
Syntaxe Heredoc
Traitement des variables dans les chaînes
Syntaxe simple
Syntaxe complexe
Accès aux caractères d'une chaîne
Fonctions et opérateurs pratiques
Conversion de type
Les tableaux
Syntaxe
Créer un tableau array()
Omettre des clés
La syntaxe à crochets
Fonctions pratiques
Exemples
Attention aux tableaux
Pourquoi est ce que $foo[bar] est invalide?
Alors, pourquoi est-ce mal?

Les objets
Initialisation d'un objet
Ressources
Libérer des ressources
La valeur NULL
Syntaxe
Définition du type
Transtypage

7.9.3.1 Dépassement de capacité des entiers
[Notes en ligne] 

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)
  $large_number =  2147483648;
  var_dump($large_number);
// affiche : float(2147483648)
?>
       

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)
?>
       

Malheureusement, il y a un bug dans le moteur (toujours présent en 4.0.6 et probablement résolu en 4.0.7) ce 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.


Chapitre précédentChapitre suivantAccueil nexen.net