Chapitre suivantIndex des CoursChapitre précedentChapitre 7

Les opérateurs

 

Les opérateurs arithmétiques

Tableau 7-1. Les opérateurs arithmétiques

exemple

nom

résultat

$a + $b

Addition

Somme de $a et $b.

$a - $b

Soustraction

Reste de la soustraction de $b sur $a.

$a * $b

Multiplication

Produit de $a et $b.

$a / $b

Division

Dividende de $a par $b.

$a % $b

Modulo

Reste de la division de $a par $b.

Les opérateurs sur les chaînes de caractères

Il n'y a réellement qu'un opérateur sur les chaînes de caractères -- l'opérateur de concaténation (".").

$a = "Hello ";

$b = $a . "World!"; // Maintenant $b = "Hello World!"

Les opérateurs d'assignement

L'opérateur d'assignement le plus simple est le signe "=". Le premier réflexe est de penser que ce signe veut dire "égal à". Ce n'est pas le cas. Il signifie que l'opérande de gauche se voit affecter la valeur de l'expression qui est à droite du signe égal.

La valeur d'une expression d'assignement est la valeur assignée. Par exemple, la valeur de l'expression '$a = 3' est la valeur 3. Cela permet de faire des choses sympas:

$a = ($b = 4) + 5; // $a est maintenant égal à 9, et $b vaut 4.

En plus du simple opérateur d'assignement, il existe des "opérateurs combinés" pour tous les opérateurs arithmétiques et pour les opérateurs sur les chaînes de caractères. Cela permet d'utiliser la valeur d'une variable dans une expression et d'affecter le résultat de cette expression à cette variable. Par exemple:

$a = 3;

$a += 5; // affecte la valeur 8 à la variable $a. (correspond à l'instruction '$a = $a + 5');

$b = "Hello ";

$b .= "There!"; // affecte la valeur "Hello There!" à la variable $b (correspond à $b = $b."There!");

Les opérateurs sur les bits

Les opérateurs sur les bits positionnent ou non certains bits dans un nombre entier.

Tableau 7-2. Les opérateurs sur les bits

exemple

nom

résultat

$a & $b

ET

Les bits positionnés à 1 dans $a ET dans $b sont positionnés à 1.

$a | $b

OU

Les bits positionnés à 1 dans $a OU dans $b sont positionnés à 1.

~ $a

NON

Les bits qui sont positionnés à 1 dans $a sont positionnés à 0, et vice versa.

$a << $b

Décalage à gauche

Décale les bits de $a dans $b par la gauche (chaque décalage équivaut à une multiplication par 2).

$a >> $b

Décalage à droite

décalage des bits de $a dans $b par la droite (chaque décalage équivaut à une division par 2).

Les opérateurs logiques

Tableau 7-3. Les opérateurs logiques

exemple

nom

résultat

$a and $b

ET

Vrai si $a ET $b sont vrais

$a or $b

OU

Vrai si $a OU $b est vrai

$a xor $b

OU exclusif

Vrai si $a OU $b est vrai, mais pas les deux en même-temps

! $a

NON

Vrai si $a est faux

$a && $b

ET

Vrai si $a ET $b sont vrais

$a || $b

OU

Vrai si $a OU $b est vrai

La raison pour laquelle il existe deux types de "ET" et de "OU" est qu'ils ont des priorités différentes. (voir le paragraphe correspondant)

Opérateurs de comparaison

Les opérateurs de comparaison, comme le nom l'indique, vous permettent de comparez deux valeurs.

Tableau 7-4. Les opérateurs de comparaison

exemple

nom

résultat

$a == $b

Egal à

Vrai si $a est égale à $b.

$a != $b

Différent de

Vrai si $a est différent de $b.

$a < $b

Plus petit que

Vrai si $a est plus petit strictement que $b.

$a > $b

Plus grand que

Vrai si $a est plus grand strictement que $b.

$a <= $b

Plus petit ou égal à

Vrai si $a est plus petit ou égal à $b.

$a >= $b

Plus grand ou égal à

Vrai si $a est plus grand ou égal à $b.

Un autre opérateur conditionnel est l'opérateur trinaire (":?"), qui fonctionne comme en langage C.

(expr1) ? (expr2) : (expr3);

Cette expression renvoie la valeur de l'expression expr2 si l'expression expr1 est vrai, et l'expression expr3 si l'expression expr1 est fausse.

La priorité 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 ("*") à une priorité supérieure par rapport à à l'addition ("+").

Le tableau suivant dresse une liste de la priorité des différents opérateurs dans un ordre croissant de priorité.

Tableau 7-5. La priorité des différents opérateurs.

Associativité

Opérateur

gauche

,

gauche

or

gauche

xor

gauche

and

droite

print

gauche

= += -= *= /= .= %= &= != ~= <<= >>=

gauche

? :

gauche

||

gauche

&&

gauche

|

gauche

^

gauche

&

non-associatif

== !=

non-associatif

< <= > >=

gauche

<< >>

gauche

+ - .

gauche

* / %

droite

! ~ ++ -- (int) (double) (string) (array) (object) @

droite

[

non-associatif

new

 

Chapitre précedentIndex des CoursChapitre suivant

Révisé le :23-Jan-2008| ©2008 www.technologuepro.com