| Un opérateur
est quelque chose que vous alimentez
avec une ou plusieurs valeurs (ou expression,
dans le jargon de programmation) qui
retourne une autre valeur (donc que
la construction elle-même devient
une expression). Donc, vous pouvez penser
aux fonctions ou constructions qui retournent
une valeur (comme print) comme opérateur
et ceux qui retournent rien du tout
(comme echo).
Il y a trois types d'opérateurs.
Le premier, l'opérateur unaire,
qui opère sur une seule valeur,
par exemple ! (l'opérateur
de négation) ou ++ (l'opérateur
d'incrémentation). Le second
groupe, les opérateurs binaires
; ce groupe contient la plus part
des opérateurs supportés
par PHP
Le troisième groupe est le
groupe des opérateurs de terminaison
: ?:. Ils doivent être utilisés
pour choisir entre deux expressions
dépendants d'une troisième,
plutôt que sélectionner
deux phrases ou chemins d'exécution.
Les expressions ternaires environnantes
avec des parenthèses est une
idée très bonne.
La précédence
des opérateurs
La priorité des opérateurs
spécifie l'ordre dans lequel
les valeurs doivent être analysées.
Par exemple, dans l'expression 1 +
5 * 3, le résultat est 16 et
non 18, car la multiplication ("*")
a une priorité supérieure
par rapport à l'addition ("+").
Des parenthèses peuvent être
utilisées pour forcer la priorité,
si nécessaire. Par exemple
: (1 + 5) * 3 donnera 18. Si la priorité
d'opérateur est égale,
l'associativité de gauche à
droite est utilisée.
Le tableau suivant dresse une liste
de la priorité des différents
opérateurs dans un ordre décroissant
de priorité. Les opérateurs
sur une même ligne ont une priorité
équivalente et dans ce cas,
leur association décide de
l'ordre de leur évaluation.
Tableau 15-1. Précédence
des opérateurs
L'associativité de gauche
signifie que l'expression est évaluée
de gauche à droite, l'associativité
de droite, l'inverse.
Exemple - Associativité
<?php
$a = 3 * 3 % 5; // (3 * 3) % 5 = 4
$a = true ? 0 : true ? 1 : 2; // (true
? 0 : true) ? 1 : 2 = 2
$a = 1;
$b = 2;
$a = $b += 3; // $a = ($b += 3) ->
$a = 5, $b = 5
?>
Utilisez les parenthèses pour
augmenter la lisibilité du
code.
Note : Bien que ! soit prioritaire
sur =, PHP va tout de même exécuter
des expressions comme : if (!$a =
foo()). Dans cette situation, le résultat
de foo() sera placé dans la
variable $a.
Copyright © 2001-2006 The
PHP Group. All rights reserved.
|