Les opérateurs
Les opérateurs fournissent les fonctions essentielles à un langage de programmation pour que les variables interagissent.
Les opérateurs arithmétiques
Nom
|
Exemple
|
Action
|
Addition
|
$a+$b
|
Additionne
les valeurs de $a et de $b.
|
Soustraction
|
$a−$b
|
Soustrait
la valeur de $b de la valeur de $a.
|
Multiplication
|
$a*$b
|
Multiplie
les valeur de $a et de $b.
|
Division
|
$a/$b
|
Divise la
valeur de $a par la valeur de $b.
|
Modulo
|
$a%$b
|
Retourne le reste de la division
de la valeur
de $a par la
valeur de $b.
|
Les opérateurs d’affectation
L’opérateur d’affectation est le signe =. Ne le confondez pas avec l’opérateur de comparaison == (égal à).
Ainsi, dans $a=3, la variable $a reçoit la valeur 3.
Ainsi, dans $a=3, la variable $a reçoit la valeur 3.
Des déclinaisons de cet opérateur proposent au programmeur des raccourcis.
Il suffit de combiner le signe égal à un opérateur arithmétique, à un opérateur de bit ou à l’opérateur de concaténation :
$a=6;
$a+=3; // $a prend la valeur de 9
$a-=2; // $a prend la valeur de 7
$a%=3; //$a prend la valeur de 1 (reste de la division de 7/3)
$a="Bonjour";
$a.=", il fait beau"; // résultat : Bonjour, il fait beau
Les opérateurs de bits
Chaque caractère est composé d’un octet, c’est-à-dire 8 bits (0 ou 1). Ainsi, la lettre A est codée 01000001 et la lettre a, 01100001.
Chaque caractère est composé d’un octet, c’est-à-dire 8 bits (0 ou 1). Ainsi, la lettre A est codée 01000001 et la lettre a, 01100001.
Les opérateurs portent surtout sur les bits positionnés sur la valeur 1.
Les opérateurs de bits
Exemple
|
Nom
|
Effet
|
$a &
$b
|
AND (et)
|
Les bits à 1 dans les
deux variables restent à 1.
|
$a | $b
|
OR (ou)
|
Les bits à 1 dans l’une
ou les deux variables restent à 1.
|
$a ^ $b
|
XOR (ou
exclusif)
|
Chaque bit à 1 dans $a ou dans $b reste à 1 sauf si le bit est à 1 pour les
deux variables.
Dans ce
cas, il est positionné à 0.
|
~ $a
|
NO (non)
|
Chaque bit est décalé de $b positions
vers la gauche. Les bits de gauche se retrouvent à droite dans le même ordre.
|
$a<< $b
|
Décalage à gauche
|
Retourne le reste de la division
de la valeur
de $a par la
valeur de $b.
|
$a>> $b
|
Décalage à
droite
|
Chaque bit est décalé de $b positions
vers la droite. Le 8e bit devient le premier, etc.
|
Ces opérateurs servent à crypter un texte, par exemple. En décalant les bits
vers la gauche ou la droite avec une clé de 1 à 8, vous modifiez les
caractères d’un texte. Il suffit ensuite de faire l’opération inverse pour
avoir le texte en clair. C’est comme un cercle où les deux extrémités se
rejoignent et où les 0 et les 1 se décalent dans un sens ou dans l’autre.
Cette méthode se combine avec des algorithmes plus complexes.
vers la gauche ou la droite avec une clé de 1 à 8, vous modifiez les
caractères d’un texte. Il suffit ensuite de faire l’opération inverse pour
avoir le texte en clair. C’est comme un cercle où les deux extrémités se
rejoignent et où les 0 et les 1 se décalent dans un sens ou dans l’autre.
Cette méthode se combine avec des algorithmes plus complexes.
Les opérateurs de comparaison
Ces opérateurs sont très souvent utilisés pour tester des valeurs avec un if.
Tab. : Les opérateurs de comparaison
Exemple
|
Nom
|
Résultat
|
$a== $b
|
Égal
|
Vrai si $a est égal à $b
|
$a=== $b
|
Identique
|
Vrai si $a est égal à $b et de même
type
|
$a!= $b ou
$a<> $b
|
Différent
|
Vrai si $a est
différent de $b
|
$a!== $b
|
Non
identique
|
Vrai si $a est
différent de $b ou s’ils ne
sont pas de même type
|
$a < $b
|
Plus petit
|
Vrai si $a est plus
strictement petit que
$b
|
$a > $b
|
Plus grand
|
Vrai si $a est
strictement plus grand que
$b
|
$a <= $b
|
Inférieur
ou égal
|
Vrai si $a est plus
petit ou égal à $b
|
$a >= $b
|
Supérieur
ou égal
|
Vrai si $a est plus
grand ou égal à $b
|
Il reste un opérateur de comparaison que nous présentons à part, l’opérateur ternaire ?.
$a==$b ? $c=8 : $c=2;
Si la valeur de $a est égale à la valeur de $b, $c prend la valeur 8, sinon $c prendra la valeur 2.
On l’utilise surtout pour des expressions courtes. On peut remplacer l’exemple par :
if ($a==$b){
$c=8;
}
else {
$c=2;
}
Aucun commentaire:
Enregistrer un commentaire