Faire le quiz close

Les entiers en PHP 8

#1 Les bases de numérotation des entiers en PHP open

En PHP 8 le type entier est désigné par le mot réservé int. Les entiers sont exprimés par défaut en base 10 😃.

Vous pouvez exprimer les entiers dans d'autres bases de numérotation : 😎

  • Pour exprimer un entier en base 8 plusieurs solutions. Vous pouvez mettre un zéro devant le nombre, par exemple 0123. Depuis PHP 8.1.0, vous pouvez ajouter la lettre o soit en minuscule, soit en majuscule (* en plus du zéro) ce qui donne 0o123 ou 0O123. Cette possibilité a sans doute été ajoutée pour harmoniser la manière de changer de base. En effet, on va le voir, pour faire de l'hexa, on écrit le préfixe 0x, pour faire du binaire, on écrit 0b et donc maintenant pour faire de l'octal, on pourra écrire 0o (C'est super).
  • Donc, pour exprimer un entier en base 16, vous devez utiliser le traditionnel préfixe zéro x (ou zéro X) soit par exemple 0x1A.
  • Pour exprimer un entier en binaire, vous devez utiliser le préfixe zéro b (ou zéro B) soit par exemple 0b11111111.
  • Enfin, depuis PHP 7.4.0, vous pouvez insérer des tirets bas, par exemple pour, écrire 1_234_567 au lieu de 1234567.
Résultats d'exécution du programme en PHP 8.2.1
Résultats exécution du programme en PHP8

#2 Les constantes prédéfinies associées aux entiers open

La taille d'un entier en mémoire sur votre machine est donnée par la constante prédéfinie PHP_INT_SIZE (* elle est exprimée en octets). La valeur maximale est donnée par PHP_INT_MAX. La valeur minimale est donnée par PHP_INT_MIN.

Si vous utilisez une variable entière, qui a un moment dépasse le plus grand entier PHP_INT_MAX, elle sera convertie en flottant 😉.

Si vous faites un var_dump d'un entier, il vous retourne le type int.

Si vous faites un gettype d'un entier, il vous retourne le type integer. Le type integer n'est plus dans la liste des types PHP de la documentation (septembre 2023).

Résultats d'exécution du programme en PHP 8.2.1
Résultats exécution du programme en PHP8

#3 Les conversions des entiers vers d'autres types PHP open

Vous pouvez convertir un entier en booléen ou en flottant en le faisant précéder d'un opérateur de conversion de type. On appelle ça faire un cast. On fera (bool)0 pour avoir un booléen qui vaut false ou bien (bool)1 pour avoir un booléen qui vaut true. Tous les entiers différents de zéro donneront un booléen qui vaudra true par exemple (bool)10.

Résultats d'exécution du programme en PHP 8.2.1
Résultats exécution du programme en PHP8