Entiers
Un
entier
est
un
nombre
de
l
'
ensemble
des
entiers
naturels
Z
:
Z
=
{
....
,
-2
,
-1
,
0
,
1
,
2
,
..
.
}
.
Il
est
possible
de
spécifier
les
nombres
entiers
(
integers
)
de
toutes
les
manières
suivantes
:
décimale
(base
10)
,
hexadécimale
(base
16)
,
octale
(base
8
)
éventuellement
précédé
du
signe
moins
(
-
)
.
Pour
utiliser
la
notation
octale
,
vous
devez
préfixer
le
nombre
avec
un
zéro
;
pour
utiliser
la
notation
hexadécimale
,
vous
devez
préfixer
le
nombre
avec
0x
.
La taille des entiers dépend de la plate-forme de support, mais
la valeur maximale est généralement de 2 milliards et des
poussières (c'est un entier signé de 32 bits). PHP ne supporte
pas les entiers non signés.
Note
:
En
PHP
,
il
n
'
existe
pas
de
type
fraction
.
1
/
2
se
transforme
en
nombre
à
virgule
flottante
0.5
.
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
.
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
1agrave
;
virgule
flottante
(
float
)
de
valeur
0.5
.
Avertissement
|
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
.
|
Conversion en entiers
Pour
explicitement
convertir
une
valeur
en
integer
,
utilisez
les
opérateurs
de
transtypage
(
int
)
ou
(integer
)
.
Cependant
,
dans
la
plupart
des
situations
,
vous
n
'
en
aurez
pas
besoin
,
car
une
valeur
sera
automatiquement
convertie
si
un
opérateur
,
un
fonction
ou
tout
autre
élément
du
langage
requiert
un
entier
.
Reportez-vous
à
la
section
définition
de
type
pour
plus
d
'
informations
sur
les
conversions
.
FALSE
devient
0
(
zéro)
,
et
TRUE
devient
1
(un
)
.
Lors
de
conversion
entre
nombre
à
virgule
flottante
et
un
entier
,
le
nombre
sera
arrondi
à
la
valeur
inférieure
s'
il
est
positif
,
et
supérieure
s'il
est
négatif
(conversion
dite
'vers
zéro'
)
.
Si
le
nombre
est
hors
de
l'
intervalle
de
validité
des
entiers
,
(généralement
+
/
-
2.15e+9
=
2^31
)
,
le
résultat
est
indéfinit
,
car
les
nombres
à
virgule
flottante
n
'ont
pas
assez
de
précision
pour
fournir
une
valeur
exacte
pour
un
entier
.
Avertissement
|
Aucune
alerte
,
même
pas
le
plus
petit
message
ne
sera
affiché
dans
ce
cas
.
|
Avertissement
|
Ne
transformez
jamais
une
fraction
inconnue
en
entier
,
car
cela
peut
conduire
à
des
résultats
irrationnels
.
Pour plus d'informations, reportez-vous aux
alertes
liées aux nombres à virgule flottante.
|
Conversion d'autres types
La
conversion
d
'
autres
types
en
entier
est
indéfinie
.
Actuellement
,
PHP
convertit
d
'
abord
la
valeur
en
booléen
.
Attention
|
Mais
,
ne
vous
fiez
pas
à
ce
comportement
,
car
il
est
susceptible
de
changer
sans
préavis
!
|
Voir
aussi
:
Nombres
de
grande
taille
et
Nombres
à
virgules
flottantes
.