Leçons PHP - leçon 6 - Opérateurs PHP
Nous avons déjà compris les variables de type chaîne et numérique, et appris que les variables numériques peuvent être de différents types : entiers, décimaux, booléens. Il est maintenant temps d'apprendre à travailler avec ces variables, à les modifier, à leur ajouter quelque chose.
Les tableaux ci-dessous montrent l'utilisation de différents opérateurs PHP.
Opérateurs arithmétiques PHP
Opérateur PHP | Description | Exemple | Résultat |
---|---|---|---|
+ | Addition | x=2 x+2 |
4 |
- | Soustraction | x=2 5-x |
3 |
* | Multiplication | x=4 x*5 |
20 |
/ | Division | 15/5 5/2 |
3 2.5 |
% | Reste de la division | 5%2 10%8 10%2 |
1 2 0 |
++ | Incrémentation (augmentation de 1) | x=5 x++ |
x=6 |
-- | Décrémentation (diminution de 1) | x=5 x-- |
x=4 |
Addition en PHP
Voyons des exemples d'opérateurs arithmétiques.
<?php $x = 1; $y = 2; $z = $x + $y; print $z; ?>
Le résultat de l'exemple ci-dessus sera 3. Je pense qu'il n'y a pas grand-chose à expliquer ici, c'est assez simple.
Soustraction en PHP
<?php $x = 2; $y = 6; $z = $y - $x; print $z; ?>
Le résultat du code ci-dessus sera 4. Et encore une fois, la soustraction est claire, je pense.
Multiplication en PHP
<?php $x = 3; $y = 4; $z = $x * $y; print $z; ?>
Le résultat de l'exécution du code sera 12. Vous sentez déjà que les nombres deviennent de plus en plus grands et que tout devient plus compliqué, n'est-ce pas ?
Division en PHP
<?php $x = 26; $y = 2; $z = $x / $y; print $z; ?>
La réponse est 13. Tout semble vraiment simple et évident. Passons maintenant à ce que nous n'utilisons pas tous les jours dans la vie courante.
Reste de la division (modulo) en PHP
$x = 10; $y = $x % 3; print $y;
Le résultat sera 1. Que cela signifie-t-il ? Cela signifie ceci : vous vous souvenez comment faire une division en colonne, on extrait la partie entière, on divise, le reste de la division est encore divisé et ainsi de suite jusqu'à ce qu'il ne reste plus de reste non divisible inférieur au diviseur lui-même. Ce reste non divisible est le résultat de l'opération % - le reste de la division. Voyons où cela peut être utilisé dans des calculs réels.
<?php $time = time(); // Temps actuel depuis le début de l'époque Unix $hours = $time % 86400; // Extraire le nombre actuel de secondes correspondant aux heures $hours = floor($hours / 3600); // Prendre la partie entière des heures $minutes = $time % 3600; // Extraire le nombre actuel de secondes correspondant aux minutes $minutes = floor($minutes / 60); // Prendre uniquement la partie entière des minutes $seconds = $time % 60; // Déterminer le nombre de secondes print $hours . ':' . $minutes . ':' . $seconds; // Afficher le résultat ?>
Cet exemple est peu probable à être utilisé quelque part, mais c'est ainsi que vous pouvez afficher l'heure sur le serveur. La fonction floor() retourne la partie entière d'un nombre décimal, par exemple si le nombre était 3.7, la fonction floor() retournera 3. Contrairement à un arrondi, rien ne sera ajouté à la partie entière.
Qu'est-ce que le temps Unix ou l'époque Unix (Unix epoch ou Unix time ou POSIX time ou Unix timestamp) ?
Le temps UNIX ou POSIX (en anglais Unix time) est une méthode d'encodage du temps adoptée dans UNIX et d'autres systèmes d'exploitation compatibles POSIX.
Le point de départ est minuit (en UTC) du 31 décembre 1969 au 1er janvier 1970, ce moment est appelé "ère UNIX" (en anglais Unix Epoch).
Le temps UNIX est aligné sur UTC, notamment lors de l'ajout de secondes intercalaires où certains numéros de seconde sont répétés.
La méthode de stockage du temps sous forme de nombre de secondes est très pratique pour comparer des dates (à la seconde près), ainsi que pour stocker des dates : elles peuvent être converties dans n'importe quel format lisible. La date et l'heure dans ce format prennent aussi très peu de place (4 ou 8 octets, selon la taille du mot machine), ce qui est judicieux pour stocker de grandes quantités de dates. Des problèmes de performance peuvent apparaître lors d'accès fréquents aux éléments de la date comme le numéro du mois, etc. Mais dans la plupart des cas, il est plus efficace de stocker le temps sous une seule valeur que sous un ensemble de champs.
Incrémentation (augmentation de 1) en PHP
Ici, c'est assez simple :
<?php $x = 1; $y = 1; $x++; $y = $y + 1; print 'x=' . $x . '<br />'; print 'y=' . $y; ?>
Les résultats des calculs seront identiques pour x et y et vaudront 2. La syntaxe est empruntée au langage C++.
Décrémentation (diminution de 1) en PHP
<?php $x = 4; $y = 4; $x--; $y = $y - 1; print 'x=' . $x . '<br />'; print 'y=' . $y; ?>
Encore une fois, c'est très simple, on met deux tirets et la variable est diminuée d'une unité.
Opérations d'assignation en PHP
Opérateur PHP | Exemple | Équivalent |
---|---|---|
= | x=y | x=y |
+= | x+=y | x=x+y |
-= | x-=y | x=x-y |
*= | x*=y | x=x*y |
/= | x/=y | x=x/y |
.= | x.=y | x=x.y |
%= | x%=y | x=x%y |
Ceci est une alternative à la notation des opérations arithmétiques, je ne fournirai pas d'exemples, je pense que vous comprenez déjà comment les utiliser.
Opérations de comparaison en PHP
Opérateur PHP | Description | Exemple |
---|---|---|
== | Égal | 5==8 retourne false |
!= | Différent | 5!=8 retourne true |
<> | Différent | 5<>8 retourne true |
> | Supérieur à | 5>8 retourne false |
< | Inférieur à | 5<8 retourne true |
>= | Supérieur ou égal à | 5>=8 retourne false |
<= | Inférieur ou égal à | 5<=8 retourne true |
Nous analyserons plus en détail les opérations de comparaison lors de l'étude des opérateurs conditionnels et des boucles.
Opérateurs logiques PHP
Opérateur PHP | Description | Exemple |
---|---|---|
&& | ET | x=6 y=3 (x < 10 && y > 1) retourne true |
|| | OU | x=6 y=3 (x==5 || y==5) retourne false |
! | NON | x=6 y=3 !(x==y) retourne true |