Les opérateurs en PHP
Les opérateurs permettent de faire des manipulations sur les variables. Ils peuvent servir à faire des opérations arithmétiques, des comparaisons, des affectations..
Affectation par valeur
Pour remplir une variable et donc la déclarer on utiliser le signe =. La variable est affecter à une valeur
<?php
$nb = 2; // affecte la valeur 2 à la variable $nb
?>
Affectation par copie
Une copie consiste à créer une autre variable yant la même valeur qu’une autre. Même si ces deux variables sont identiques, ce ne sont pas les mêmes (deux flûte de champagne sont bien identiques mais pas les mêmes – si l’une se vide l’autre ne se videra pas forcément)
<?php
$nb = 2;
$copie = $nb;
echo $copie; // affichera 2
?>
Affectation par référence
Cela consiste à créer une nouvelle variable mais qui pointe la même valeur qu’une autre. Pour créer une référence on utilise esperluette &
Si vous modifier la valeur d’une variable, la valeur de l’autre sera aussi modifié (votre pseudo, et votre prénom sont bien différents mais ils font référence à vous).
<?php
$prenom = "dany";
$pseudo = &$prenom;
$prenom .= "el";
echo $pseudo; // affichera danyel;
?>
Pour supprimer une référence on utilise la fonction unset().
<?php
$prenom = "dany";
$pseudo = &$prenom;
unset($pseudo);
$prenom .= "el";
echo $pseudo; // affichera une erreur
?>
Opérateur arithmétiques
Ils permettent de faire les opération mathématiques classiques.
<?php
echo 3+2; // affichera 5 - opérateur addition
echo 3-2; // affichera 1 - opérateur soustraction
echo 3*2; // affichera 6 - opérateur multiplication
echo 3/2; // affichera 1.5 - opérateur division
?>
Le modulo est souvent utiliser pour vérifier la parité d’un nombre. Le modulo renvoie le reste de la division. Le modulo par 2 vaut zéro si le nombre est paire et 1 si le nombre est impaire. Pour les traitements d’affichage, cela permet d’alterner la présentation des lignes de contenu, les lignes paires seront marquées différemment des lignes impaires.
<?php
echo 1%2."-"; // affichera 1
echo 2%2."-"; // affichera 0
echo 3%2."-"; // affichera 1
echo 4%2; // affichera 0
?>
Affichage
0-1-0-1
Incrémentation et décrementation
L incrémentation consiste à augmenter une variable de 1. La décrementation consiste à diminuer la variable de 1. Ces opérateurs peuvent s’utiliser devant ou derrière la variable.
<?php
$nb = 2;
$nb--;
echo $nb; // affichera 1
$nb++;
echo $nb; // affichera 2
echo $nb++; // affichera toujours 2
echo $nb; // affichera 3
echo ++$nb; // affichera 4;
$nb++ signifie qu’on évalue la variable puis on l’augmente.
++$nb signifie qu’on augmente la variable puis on l’évalue.
Les opérateurs combinés ou assignation
Il sont très utiles pour modifier arithmétiquement la valeur d’une variable. On combine pour cela l’opérateur arithmetique avec l’opérateur d’affectation + =, – =, * =, / =
<?php
$nb = 10;
$nb += 2; // $nb est augmenté de 2 et vaut 12
$nb -= 5; // $nb est diminué de 5 et vaut 7
$nb *= 3; // $nb est multiplié par 3 et vaut 21
$nb /= 7; // $nb est divisé par 7 et vaut 3
echo $nb; // affichera 3
?>
La concaténation
Cet opérateur est très important : il permet d’empiler des imformations dans une variable. Il suffit d’utiliser le point . entre chaque partie
<?php
$prenom = "jean-";
$compose = "claude";
echo $prenom.$compose; // affichera jean-claude
?>
Cet opérateur peut aussi s’utiliser comme une assignation .=
<?php
$prenom = "jean-";
$prenom .= "claude";
echo $prenom; // affichera jean-claude
?>
Opérateurs de comparaison
Ils permettent de faire des tests de comparaison sur des valeurs, comme vérifier l’égalité, la difference, la supériorité etc..
Ils sont utilisés avec les structures de contrôles conditionnelles (if, while..) Chaque opérateur renvoie un booléen vrai ou faux (true ou false) en fonction de la véracité de la comparaison
Les opérateurs de comparaison sont :
- > : supérieur
- < : inférieur
- >= : supérieur ou égale
- <= : inférieur ou égale
- != ou <> : différent en valeur
- !== : différent en valeur et en type
- == : égalité des valeurs
- === : égalité des valeurs et des types
<?php
echo 3>2; // 3 supérieur à 2 - affichera 1 - l'équivalent de vrai (true)
echo 3<2; // 3 inférieur à 2 - affichera rien - l'équivalent de faux (false)
echo 3!=2; // 3 différent de 2 - affichera 1 - l'équivalent de vrai (true)
?>
Ne pas confondre l’opérateur d’affectation = avec l’opérateur d’égalité ==
<?php
$a = $b; // $a est la copie de $b
$a == $b; // on vérifie l'égalité de valeur entre $a et $b
?>
Bien différencier le == qui vérifie l’égalité des valeurs et le === qui vérifie l’égalité des valeurs et des types.
<?php
echo 2 == "2"; // affichera 1 - l'équivalent de vrai (true)
echo 2 === "2" // affichera rien - l'équivalent de faux (false)
?>
Opérateurs logiques
Il est possible de combiner des comparaisons et d’inverser la reponse d’un test de comparaison pour créer des expressions logiques (comparaison 1 ET comparaison 2, comparaison 1 OU comparaison 2, le CONTRAIRE de comparaison 1).
Opérateur ! (opérateur d’inversion du booléen).
Renvoie le booléen inverse d’une expression logique.
<?php
$bol = true;
echo !$bol; // affichera rien - l'équivalent de faux (false)
?>
Opérateur || ou OR (opérateur OU)
Renvoie vrai si au moin l’une des deux comparaisons renvoie vrai
<?php
echo 3>2 || "a"=="b"; // affichera 1 - l'équivalent de vrai (true)
?>
Opérateur XOR (opérateur OU exclusif)
Renvoie vrai si l’une des deux comparaisons est vrai, et uniquement l’une des deux.
<?php
echo 3>2 XOR "a"=="a"; // affichera rien - l'équivalent de faux (false)
?>
Opérateur && ou AND (opérateur ET)
Renvoie vrai si les deux comparaisons renvoient vrai.
<?php
echo 3>2 && "a"=="a"; // affichera 1 - l'équivalent de vrai (true)
?>