Définition du type
PHP
ne
nécessite
pas
de
déclaration
explicite
du
type
d
'
une
variable
.
Le
type
d'
une
variable
est
déterminé
par
le
contexte
d
'utilisation
.
Par
exemple
,
si
vous
assignez
une
chaîne
de
caractères
à
la
variable
var
,
var
devient
une
chaîne
de
caractère
.
Si
vous
assignez
un
nombre
entier
à
var
,
elle
devient
un
entier
.
Un
exemple
de
convertisseur
automatique
de
type
est
l'
opérateur
'+
'
.
Si
un
des
opérandes
est
de
type
double
,
alors
tous
les
opérandes
sont
évalués
comme
des
variables
de
type
double
et
le
résultat
est
de
type
double
.
Sinon
,
tous
les
opérandes
sont
évalués
comme
des
variables
de
type
entier
et
le
résultat
sera
du
type
entier
.
Il
est
à
noter
que
cela
NE
CHANGE
PAS
le
type
des
opérandes
.
Le
seul
changement
est
la
manière
dont
les
opérandes
sont
évaluées
.
Si
les
deux
derniers
exemples
vous
semblent
obscurs
ou
si
vous
voulez
forcer
une
variable
a
être
évaluée
avec
un
certain
type
,
reportez-vous
au
paragraphe
Conversion
de
type
ci-dessous
.
Si
vous
voulez
changer
le
type
d
'
une
variable
,
intéressez-vous
à
aux
fonctions
de
conversion
de
chaînes
.
Si
vous
voulez
forcer
le
type
d
'
une
variable
,
vous
pouvez
vous
reporter
à
la
section
transtypage
.
Si
vous
voulez
changer
le
type
d'
une
variable
,
utilisez
settype(
)
.
Pour
tester
les
exemples
de
cette
section
,
il
suffit
d'
en
faire
un
copier
/
coller
,
et
d
'insérer
les
lignes
dans
un
script
PHP
.
Le
comportement
de
la
conversion
automatique
est
actuellement
indéfinie
.
Bien
que
dans
l'
exemple
ci-dessus
,
il
semble
évident
que
$a
va
devenir
un
tableau
,
dont
le
premier
élément
est
'f'
,
considérez
l
'exemple
suivant
:
Etant
donné
que
PHP
supporte
l'
indexation
de
chaîne
avec
des
offsets
identiques
à
celles
des
tableaux
,
l'exemple
ci-dessus
conduit
à
un
problème
:
est
ce
que
$a
est
un
tableau
,
dont
le
premier
élément
est
"f"
,
ou
bien
est
ce
que
"f
"
est
le
premier
élément
de
la
chaîne
de
caractères
$a
?
Pour
cette
raison
,
aussi
bien
pour
PHP
3.0.12
que
PHP
4.0b3-RC4
,
le
résultat
de
la
conversion
automatique
est
considéré
comme
indéfinie
.
Des
solutions
sont
en
cours
de
discussion
.
Transtypage
La
conversion
de
type
en
PHP
fonctionne
de
la
même
manière
qu'
en
C
:
le
nom
du
type
désiré
est
écrit
entre
parenthèses
devant
la
variable
à
transtyper
("cast"
)
.
Les
conversions
autorisées
sont
:
-
(
int)
,
(integer
)
-
type
entier
-
(
bool)
,
(boolean
)
-
booléen
-
(
real)
,
(double)
,
(float
)
-
type
double
-
(
string
)
-
ctype
chaîne
-
(
array
)
-
type
tableau
-
(
object
)
-
type
objet
Il
est
à
noter
que
les
tabulations
et
les
espaces
sont
autorisés
à
l
'
intérieur
des
parenthèses
,
donc
les
lignes
suivantes
sont
équivalentes
:
Le
transtypage
n
'
a
pas
toujours
de
résultat
prévisible
.
Pour
plus
d
'
informations
,
voyez
:
Avertissement
|
Pour
transformer
facilement
une
variable
en
chaîne
,
entourez
la
simplement
de
guillements
doubles
.
|
Lors
de
la
conversion
d'
un
tableau
en
chaîne
,
le
résultat
sera
le
mot
Array
Lors
de
la
conversion
d'un
tableau
en
chaîne
,
le
résultat
sera
le
mot
Array
(tableau
,
en
anglais
)
.
Lors
de
la
conversion
d'
un
objet
en
chaîne
,
le
résultat
sera
le
mot
Object
(objet
,
en
anglais
)
.
Dans
les
deux
cas
,
une
alerte
sera
affichée
.
Lorsque
vous
transtypez
un
scalaire
ou
une
chaîne
en
tableau
,
la
variable
verra
son
contenu
affecté
au
premier
élément
du
tableau
.
Lorsque
vous
transtypez
un
scalaire
ou
une
chaîne
en
objet
,
la
valeur
de
la
variable
sera
transformée
en
attribut
de
l
'
objet
.
L'
attribut
s'appellera
'scalar
'
: