PHP Opérateurs
Dans ce chapitre, nous allons discuter de l'application de différents opérateurs en PHP.
En PHP, l'opérateur d'affectation=est utilisé pour affecter des valeurs aux variables.
En PHP, les opérateurs arithmétiques+sont utilisés pour additionner des valeurs.
Opérateurs arithmétiques PHP
| Operator | Name | Description | Exemple | Résultat |
|---|---|---|---|---|
| x + y | ajoutez | Somme de x et y | 2 + 2 | 4 |
| x - y | soustraction | Différence de x et y | 5 - 2 | 3 |
| x * y | multiply | Produit de x et y | 5 * 2 | 10 |
| x / y | divide | Quotient de x et y | 15 / 5 | 3 |
| x % y | Modulo (reste de la division) | Reste de x divisé par y | 5 % 2 10 % 8 10 % 2 |
1 2 0 |
| -x | Rendre négatif | Prendre le signe opposé de x | <?php $x = 2; echo -$x; ?> |
-2 |
| ~x | Non bit à bit | Inverser x, en effectuant une opération NOT bit à bit sur ses bits binaires. Les règles sont : ~1=-2; ~0=-1; |
<?php $x = 2; echo ~$x; ?> |
-3 |
| a . b | Concaténation | Concatène deux chaînes | "Hi" . "Ha" | HiHa |
Les exemples suivants illustrent les différents résultats obtenus en utilisant différents opérateurs arithmétiques :
Exemple
Essayez-le vous-même »
La version PHP7+ ajoute un opérateur de division entièreintdiv(), cette fonction renvoie la valeur du premier paramètre divisée par le second paramètre et l'arrondit à l'entier inférieur (floor). Exemple :
Exemple
L'exemple ci-dessus affichera :
int(3)
Opérateurs d'affectation PHP
En PHP, l'opérateur d'affectation de base est=. Cela signifie que l'opérande de gauche reçoit la valeur de l'expression de droite. C'est-à-dire,$x = 5la valeur est 5.
| Operator | Équivalent à | Description |
|---|---|---|
| x = y | x = y | L'opérande de gauche reçoit la valeur de l'expression de droite |
| x += y | x = x + y | ajoutez |
| x -= y | x = x - y | soustraction |
| x *= y | x = x * y | multiply |
| x /= y | x = x / y | divide |
| x %= y | x = x % y | Modulo (reste de la division) |
| a .= b | a = a . b | Concatène deux chaînes |
Les exemples suivants montrent les différents résultats obtenus en utilisant différents opérateurs d'affectation :
Exemple
Essayez-le vous-même »
Les exemples suivants démontrent les mêmes résultats obtenus en utilisant différents opérateurs de chaînes :
Exemple
Essayez-le vous-même »
Opérateurs d'incrémentation/décrémentation PHP
| Operator | Name | Description |
|---|---|---|
| ++ x | Pré-incrémentation | Ajoute 1 à x, puis retourne x |
| x ++ | Post-incrémentation | Retourne x, puis ajoute 1 à x |
| -- x | Pré-décrémentation | Soustrait 1 de x, puis renvoie x |
| x -- | Post-décrémentation | Renvoie x, puis soustrait 1 de x |
Les exemples suivants illustrent les résultats obtenus avec les opérateurs d'incrémentation/décrémentation :
Exemple
Essayez-le vous-même »
Opérateurs de comparaison PHP
Les opérateurs de comparaison vous permettent de comparer deux valeurs :
| Operator | Name | Description | Exemple |
|---|---|---|---|
| x == y | Equal | Renvoie true si x est égal à y | 5==8 renvoie false |
| x === y | Identique | Renvoie true si x est égal à y et qu'ils sont du même type | 5==="5" renvoie false |
| x != y | Différent de | Renvoie true si x n'est pas égal à y | 5!=8 renvoie true |
| x <> y | Différent de | Renvoie true si x n'est pas égal à y | 5<>8 renvoie true |
| x !== y | Non identique | Renvoie true si x n'est pas égal à y, ou s'ils ne sont pas du même type | 5!=="5" renvoie true |
| x > y | Supérieur à | Renvoie true si x est supérieur à y | 5>8 renvoie false |
| x < y | Inférieur à | Renvoie true si x est inférieur à y | 5<8 renvoie true |
| x >= y | Supérieur ou égal à | Renvoie true si x est supérieur ou égal à y | 5>=8 renvoie false |
| x <= y | Inférieur ou égal à | Renvoie true si x est inférieur ou égal à y | 5<=8 renvoie true |
Les exemples suivants montrent les différents résultats obtenus en utilisant certains opérateurs de comparaison :
Exemple
Essayez-le vous-même »
Opérateurs logiques PHP
| Operator | Name | Description | Exemple |
|---|---|---|---|
| x and y | et | Renvoie true si x et y sont tous les deux true | x=6 y=3 (x < 10 and y > 1) renvoie true |
| x or y | ou | Renvoie true si au moins l'un de x et y est true | x=6 y=3 (x==6 or y==5) renvoie true |
| x xor y | Xor | Renvoie true si exactement l'un de x et y est true | x=6 y=3 (x==6 xor y==3) renvoie false |
| x && y | et | Renvoie true si x et y sont tous les deux true | x=6 y=3 (x < 10 && y > 1) renvoie true |
| x || y | ou | Renvoie true si au moins l'un de x et y est true | x=6 y=3 (x==5 || y==5) renvoie false |
| ! x | not | Renvoie true si x n'est pas true | x=6 y=3 !(x==y) renvoie true |
Opérateurs de tableau PHP
| Operator | Name | Description |
|---|---|---|
| x + y | Union | Union de x et y |
| x == y | Égalité | Renvoie true si x et y ont les mêmes paires clé/valeur |
| x === y | Identité | Renvoie true si x et y ont les mêmes paires clé/valeur, dans le même ordre et de même type |
| x != y | Inégalité | Renvoie true si x n'est pas égal à y |
| x <> y | Inégalité | Renvoie true si x n'est pas égal à y |
| x !== y | Non-identité | Renvoie true si x n'est pas égal à y |
Les exemples suivants montrent les différents résultats obtenus en utilisant certains opérateurs de tableau :
Exemple
Essayez-le vous-même »
Opérateur ternaire
Un autre opérateur conditionnel est l'opérateur "?:" (ou ternaire).
Format de syntaxe
(expr1) ? (expr2) : (expr3)
La valeur est expr2 lorsque expr1 vaut TRUE, et expr3 lorsque expr1 vaut FALSE.
Depuis PHP 5.3, la partie centrale de l'opérateur ternaire peut être omise. L'expression expr1 ?: expr3 renvoie expr1 si expr1 vaut TRUE, sinon renvoie expr3.
Exemple
Dans l'exemple suivant, en vérifiant si la requête $_GET contient une valeur pour user, il renvoie $_GET['user'] si elle est présente, sinon renvoie nobody :
Exemple
Remarque :PHP_EOLest un caractère de nouvelle ligne, compatible avec davantage de plateformes.
Dans les versions PHP 7+, il existe un opérateur de coalescence NULL supplémentaire??, des exemples sont les suivants :
Exemple
Opérateur de comparaison combiné (PHP7+)
PHP7+ prend en charge l'opérateur de comparaison combiné, aussi appelé opérateur spaceship, avec le symbole :<=>. L'opérateur de comparaison combiné peut facilement comparer deux variables, et bien sûr il n'est pas limité à la comparaison de données numériques.
Le format de la syntaxe est le suivant :
$c = $a <=> $b;
L'analyse est la suivante :
- Si $a > $b, alors$cla valeur de1。
- Si$a == $b, alors$cla valeur de0。
- Si$a < $b, alors$cla valeur de-1。
Les exemples sont les suivants :
Exemple
Précédence des opérateurs
Le tableau suivant liste les opérateurs par ordre de priorité, du plus haut au plus bas. Les opérateurs d'une même ligne ont la même priorité, auquel cas leur associativité détermine l'ordre d'évaluation.
Explication: Gauche = de gauche à droite, droite = de droite à gauche.
| Associativité | Operator | Informations complémentaires |
|---|---|---|
| Aucune | clone new | clone et new |
| Left | [ | array() |
| Right | ++ -- ~ (int) (float) (string) (array) (object) (bool) @ | Type et incrément/décrément |
| Aucune | instanceof | Type |
| Right | ! | Opérateurs logiques |
| Left | * / % | Opérateurs arithmétiques |
| Left | + – . | Opérateurs arithmétiques et opérateurs de chaînes |
| Left | << >> | Opérateurs bit à bit |
| Aucune | == != === !== <> | Opérateurs de comparaison |
| Left | & | Opérateurs bit à bit et références |
| Left | ^ | Opérateurs bit à bit |
| Left | | | Opérateurs bit à bit |
| Left | && | Opérateurs logiques |
| Left | || | Opérateurs logiques |
| Left | ? : | Opérateur ternaire |
| Right | = += -= *= /= .= %= &= |= ^= <<= >>= => | Opérateurs d'affectation |
| Left | et | Opérateurs logiques |
| Left | xor | Opérateurs logiques |
| Left | ou | Opérateurs logiques |
| Left | , | Utilisé à plusieurs endroits |
Dans la priorité des opérateurs, or et ||, && et and sont tous des opérateurs logiques ayant le même effet, mais leur priorité est différente.
Exemple
La sortie des exemples ci-dessus est :
int(3) bool(true)
Utilisation des parenthèses
Nous utilisons l'appariement de parenthèses pour indiquer explicitement l'ordre des opérations, plutôt que de nous fier à la priorité et à l'associativité des opérateurs, ce qui peut généralement améliorer la lisibilité du code.
Exemple
La sortie des exemples ci-dessus est :
7 9Autres extensions