Les
expressions
sont
la
partie
la
plus
importante
du
PHP
.
En
PHP
,
presque
tout
ce
que
vous
écrivez
est
une
expression
.
La
manière
la
plus
simple
de
définir
une
expression
est
:
"
tout
ce
qui
a
une
valeur
"
.
Les
formes
les
plus
simples
d
'
expressions
sont
les
constantes
et
les
variables
.
Lorsque
vous
écrivez
"
$a
=
5"
,
vous
assignez
la
valeur
'5
'
à
la
variable
$a
.
Bien
évidemment
,
'
5
'
vaut
5
ou
,
en
d'autres
termes
,
'5
'
est
une
expression
avec
pour
valeur
5
(dans
ce
cas
,
'5
'
est
un
entier
constant
)
.
Après
cette
assignation
,
vous
pouvez
considérer
que
$a
a
pour
valeur
5
et
donc
,
écrire
$b
=
$a
,
revient
à
écrire
$b
=
5
.
En
d
'
autres
termes
,
$a
est
une
expression
avec
une
valeur
de
5
.
Si
tout
fonctionne
correctement
,
c
'
est
exactement
ce
qui
arrive
.
Un
exemple
plus
complexe
concerne
les
fonctions
.
Par
exemple
,
considérons
la
fonction
suivante
:
Considérant
que
vous
êtes
familier
avec
le
concept
de
fonction
,
(
si
ce
n'est
pas
le
cas
,
jetez
un
oeil
au
chapitre
concernant
les
fonctions)
,
vous
serez
d'accord
que
$c
=
foo(
)
est
équivalent
à
$c
=
5
,
et
vous
aurez
tout
à
fait
raison
.
Les
fonctions
sont
des
expressions
qui
ont
la
valeur
de
leur
"
valeur
de
retour
"
.
Si
foo(
)
renvoie
5
,
la
valeur
de
l'expression
'foo()
'
est
5
.
Habituellement
,
les
fonctions
ne
font
pas
que
renvoyer
une
valeur
constante
mais
réalisent
des
traitements
.
Bien
sûr
,
les
valeurs
en
PHP
n'
ont
pas
à
être
des
valeurs
numériques
,
comme
c
'est
souvent
le
cas
.
PHP
supporte
3
types
de
variables
scalaires
:
les
valeurs
entières
,
les
nombres
à
virgule
flottante
et
les
chaînes
de
caractères
(
une
variable
scalaire
est
une
variable
que
vous
ne
pouvez
pas
scinder
en
morceau
,
au
contraire
des
tableaux
par
exemple
)
.
PHP
supporte
aussi
deux
types
composés
:
les
tableaux
et
les
objets
.
Chacun
de
ces
types
de
variables
peut
être
affecté
ou
renvoyé
par
une
fonction
.
Les
utilisateurs
de
PHP
/
FI
2
ne
verront
aucun
changement
.
Malgré
tout
,
PHP
va
plus
loin
dans
la
gestion
des
expressions
,
comme
le
font
d
'
autres
langages
.
PHP
est
un
langage
orienté
expression
,
dans
le
sens
où
presque
tout
est
une
expression
.
Considérons
l'
exemple
dont
nous
avons
déjà
parlé
,
'$a
=
5
'
.
Il
est
facile
de
voir
qu'
il
y
a
deux
valeurs
qui
entrent
en
jeux
ici
,
la
valeur
numérique
constante
'5
'
et
la
valeur
de
la
variable
$a
qui
est
mise
à
jour
à
la
valeur
5
.
Mais
,
la
vérité
est
qu'
il
y
a
une
autre
valeur
qui
entre
en
jeu
ici
et
c'est
la
valeur
de
l
'assignation
elle-même
.
L
'
assignation
elle-même
est
assignée
à
une
valeur
,
dans
ce
cas-là
5
.
En
pratique
,
cela
signifie
que
'
$a
=
5
'
est
une
expression
qui
a
pour
valeur
5
.
Donc
,
écrire
'
$b
=
($a
=
5)
'
revient
à
écrire
'$a
=
5
;
$b
=
5
;
'
(un
point
virgule
marque
la
fin
d'une
instruction
)
.
Comme
les
assignations
sont
analysé
de
droite
à
gauche
,
vous
pouvez
aussi
bien
écrire
'
$b
=
$a
=
5
'
.
Un
autre
bon
exemple
du
langage
orienté
expression
est
la
pré-incrémentation
et
la
post-incrémentation
,
(
ainsi
que
la
décrémentation
)
.
Les
utilisateurs
de
PHP
/
FI
2
et
ceux
de
nombreux
autres
langages
sont
habitués
à
la
notation
"
variable++
"
et
"variable-
-
"
.
Ce
sont
les
opérateurs
d
'
incrémentation
et
de
décrémentation
.
En
PHP
/
FI
2
,
l'
instruction
'$a++
'
n'a
aucune
valeur
(c'est-à-dire
que
ce
n'est
pas
une
expression
)
et
vous
ne
pouvez
donc
pas
l
'utiliser
.
PHP
ajoute
les
possibilités
d'
incrémentation
et
de
décrémentation
comme
c
'est
le
cas
dans
le
langage
C
.
En
PHP
,
comme
en
C
,
il
y
a
deux
types
d'
opérateurs
d'incrémentation
(pré-incrémentation
et
post-incrémentation
)
.
Les
deux
types
d'
opérateur
d'incrémentation
jouent
le
même
rôle
(c'est-à-dire
qu'ils
incrémentent
la
variable
)
.
La
différence
vient
de
la
valeur
de
l'
opérateur
d
'incrémentation
.
L'
opérateur
de
pré-incrémentation
,
qui
s'écrit
'++$variable'
,
évalue
la
valeur
incrémentée
(PHP
incrémente
la
variable
avant
de
lire
la
valeur
de
cette
variable
,
d'où
le
nom
de
'pré-incrémentation'
)
.
L'
opérateur
de
post-incrémentation
,
qui
s'écrit
'$variable++'
,
évalue
la
valeur
de
la
variable
avant
de
l'incrémenter
(PHP
incrémente
la
variable
après
avoir
lu
sa
valeur
,
d'où
le
nom
de
'post-incrémentation'
)
.
Un
type
d'
expression
très
commun
est
l
'expression
de
comparaison
.
Ces
expressions
sont
évaluées
à
0
ou
1
,
autrement
dit
FALSE
ou
TRUE
(
respectivement
)
.
PHP
supporte
les
opérateurs
de
comparaison
(
plus
grand
que)
,
=
(plus
grand
ou
égal)
,
==
(égal
à)
,
(plus
petit
que)
,
=
(plus
petit
ou
égal
)
.
Ces
expressions
sont
utilisées
de
manière
courante
dans
les
instructions
conditionnelles
,
comme
l
'
instruction
if
.
Pour
le
dernier
exemple
d'
expression
,
nous
allons
parler
des
combinaisons
d
'opérateurs
/
assignation
.
Vous
savez
que
si
vous
voulez
incrémenter
la
variable
$a
d'
une
unité
,
vous
devez
simplement
écrire
'$a++
'
.
Mais
si
vous
voulez
ajouter
la
valeur
'
3
'
à
votre
variable
?
Vous
pouvez
écrire
plusieurs
fois
'
$a++'
,
mais
ce
n
'est
pas
la
meilleure
des
méthodes
.
Un
pratique
plus
courante
est
d'
écrire
'$a
=
$a
+
3
'
.
L'
expression
'$a
+
3
'
correspond
à
la
valeur
$a
plus
3
,
et
est
de
nouveau
assignée
à
la
variable
$a
.
Donc
,
le
résultat
est
l
'
incrémentation
de
3
unités
.
En
PHP
,
comme
dans
de
nombreux
autres
langages
comme
le
C
,
vous
pouvez
écrire
cela
de
manière
plus
concise
,
manière
qui
avec
le
temps
se
révélera
plus
claire
et
plus
rapide
à
comprendre
.
Ajouter
3
à
la
valeur
de
la
variable
$a
peut
s'
écrire
'$a
+=
3
'
.
Cela
signifie
précisément
:
"
on
prend
la
valeur
de
la
variable
$a
,
on
ajoute
la
valeur
3
et
on
assigne
cette
valeur
à
la
variable
$a
"
.
Et
pour
être
plus
concis
et
plus
clair
,
cette
expression
est
plus
rapide
.
La
valeur
de
l'
expression
'$a
+=
3'
,
comme
l'assignation
d
'une
valeur
quelconque
,
est
la
valeur
assignée
.
Il
est
à
noter
que
ce
n'
est
pas
3
mais
la
combinaison
de
la
valeur
de
la
variable
$a
plus
la
valeur
3
.
(c'est
la
valeur
qui
est
assignée
à
la
variable
$a
)
.
N'
importe
quel
opérateur
binaire
peut
utiliser
ce
type
d'assignation
,
par
exemple
'$a
-=
5
'
(soustraction
de
5
de
la
valeur
de
la
variable
$a)
,
'$b
*=
7
'
(multiplication
de
la
valeur
de
la
variable
$b
par
7
)
.
Il
y
a
une
autre
expression
qui
peut
paraître
complexe
si
vous
ne
l'
avez
pas
vueà-dire
dans
d'autre
langage
,
l
'opérateur
conditionnel
ternaire
:
Si la valeur de la première sous-expression est vraie (différente
de 0), alors la deuxième sous-expression est évaluée et constitue
le résultat de l'expression conditionnelle. Sinon, c'est la
troisème sous-expression qui est évaluée et qui constitue le
résultat de l'expression.
Les
exemples
suivants
devraient
vous
permettre
de
mieux
comprendre
la
pré
-
et
post
-
incrémentation
et
le
concept
des
expressions
en
général
:
Au
début
de
ce
chapitre
,
nous
avons
dit
que
nous
allions
décrire
les
différents
types
d
'
instructions
,
et
donc
,
comme
promis
,
nous
allons
voir
que
les
expressions
peuvent
être
des
instructions
.
Mais
,
attention
,
toutes
les
expressions
ne
sont
pas
des
instructions
.
Dans
ce
cas-là
,
une
instruction
est
de
la
forme
'
expr
'
'
;'
,
c
'est-à-dire
,
une
expression
suivie
par
un
point-virgule
.
L'
expression
'$b
=
$a
=
5
;'
,
'$a
=
5
'
est
valide
,
mais
ce
n'est
pas
une
instruction
en
elle-même
.
'$b
=
$a
=
5
'
est
une
instruction
valide
.
La
dernière
chose
qui
mérite
d
'
être
mentionnée
est
la
véritable
valeur
des
expressions
.
Lorsque
vous
faites
des
tests
sur
une
variable
,
dans
une
boucle
conditionnelle
par
exemple
,
cela
ne
vous
intéresse
pas
de
savoir
qu'
elle
est
la
valeur
exacte
de
l
'expression
.
Mais
vous
voulez
seulement
savoir
si
le
résultat
signifie
TRUE
ou
FALSE
(
PHP
n'a
pas
de
type
booléen
)
.
La
véritable
valeur
d'
une
expression
en
PHP
est
calculée
de
la
même
manière
qu
'en
Perl
.
Toute
valeur
numérique
différente
de
0
est
considérée
comme
étant
TRUE
.
Une
chaîne
de
caractères
vide
et
la
chaîne
de
caractère
0
sont
considérées
comme
FALSE
.
Toutes
les
autres
valeurs
sont
vraies
.
Avec
les
types
de
variables
non-scalaires
(
les
tableaux
et
les
objets)
,
s
'ils
ne
contiennent
aucun
élément
,
renvoient
FALSE
,
sinon
,
ils
renvoient
TRUE
.
PHP
propose
une
implémentation
complète
et
détaillée
des
expressions
.
PHP
documente
toutes
ses
expressions
dans
le
manuel
que
vous
êtes
en
train
de
lire
.
Les
exemples
qui
vont
suivre
devraient
vous
donner
une
bonne
idée
de
ce
qu
'
est
une
expression
et
comment
construire
vos
propres
expressions
.
Dans
tout
ce
qui
va
suivre
,
nous
écrirons
expr
pour
indiquer
toute
expression
PHP
valide
.