Les opérateurs

  • Introduction
  • Informations
Les opérateurs permettent de faire interagir les variables utilisées dans un script.
On les retrouve donc en PHP comme dans les autres langages de programmation.

Il est donc nécessaire de les connaitre pour programmer en PHP.  
Netger
  • Auteur : Netger
  • Publication : 21 nov. 2007 11:52
  • Consultations : 1873
 

1. Les opérateurs arithmétiques

Vous les reconnaitrez facilement : ce sont ceux que l'ont utilise couramment en mathématiques.

Addition
Permet d'additionner plusieurs valeurs.
Par exemple : $n1 + $n2
Soustraction
Permet de soustraire plusieurs valeurs.
Par exemple : $n1 - $n2
Multiplication
Permet de multiplier plusieurs valeurs.
Par exemple : $n1 * $n2
Division
Permet de diviser plusieurs valeurs.
Par exemple : $n1 / $n2
Modulo
Permet d'obtenir le reste d'une division.
Par exemple : $n1 % $n2

2. Les opérateurs d'affectation

L'opérateur d'affectation est le signe ' = ' (egal).
Il permet d'affecter une valeur à une variable.

Par exemple :
Code-source php
  1. $nombre = 25;
  2. $lettre = 'A';
  3. $phrase = "Netger Design";
 
Remarque :
Une erreur fréquente est de la confondre avec l'opérateur de comparaison ' == ' (egal à).
Soyez vigilant...

Les déclinaisons de l'opérateur d'affectation permettent de le combiner avec les opérateurs arithmétiques, de bit ou de concaténation :
Code-source php
  1. $nombre = 25;
  2. $nombre += 5; // signifie $nombre = 25 + 5 = 30.
  3. $lettre = 'A';
  4. $lettre .= 'B'; // signifie $lettre = 'AB'
 

3. Les opérateurs de bits

Petit rappel :
Chaque caractère est composé d'un octet, soit 8 bits.
Par exemple la lettre A est codée 01000001.


Les opérateurs de bits portent surtout sur les bits qui ont pour valeur 1.
Ces opérateurs combinés à des algorithmes complexes permettent de crypter des données, vous ne devriez donc pas les utiliser souvent...
AND
Les bits à 1 dans les variables restent à 1. Par exemple : $v1 & $v2
OR
Les bits à 1 dans au moins une variable restent à 1. Par exemple : $v1 | $v2
XOR
Chaque bit à 1 dans les variables reste à 1 sauf s'il est à 1 pour les deux variables. Par exemple : $v1 ^ $v2
NO
Chaque bit est inversé. Par exemple : ~ $v1
Décalage à gauche
Chaque bit est décalé de $v2 positions vers la gauche. Par exemple : $v1 << $v2
Décalage à droite
Chaque bit est décalé de $v2 positions vers la droite. Par exemple : $v1 >> $v2

4. Les opérateurs de comparaisons

Ces opérateurs sont trés utiles, il faut donc les connaitre...
Egal
Retourne "true" si $n1 est égal à $n2, sinon retourne "false". Par exemple : $n1 == $n2
Identique
Retourne "true" si $n1 est égal à $n2 et de même type, sinon retourne "false". Par exemple : $n1 === $n2
Différent
Retourne "true" si $n1 est différent de $n2, sinon retourne "false". Par exemple : $n1 != $n2
Non identique
Retourne "true" si $n1 est différent de $n2 et ne sont pas de même type, sinon retourne "false". Par exemple : $n1 !== $n2
Inférieur
Retourne "true" si $n1 est strictement plus petit que $n2, sinon retourne "false". Par exemple : $n1 < $n2
Supérieur
Retourne "true" si $n1 est strictement plus grand que $n2, sinon retourne "false". Par exemple : $n1 > $n2
Inférieur ou egal
Retourne "true" si $n1 est egal ou plus petit que $n2, sinon retourne "false". Par exemple : $n1 <= $n2
Supérieur ou egal
Retourne "true" si $n1 est egal ou plus grand que $n2, sinon retourne "false". Par exemple : $n1 >= $n2
Remarque :
Il existe un dernier opérateur de comparaison : l'opérateur ternaire ' ? '
Il permet d'exprimer une condition de façon plus courte qu'avec un ' if '.

Par exemple :
Code-source php
  1. $n1 != $n2 ? $n3=1 : $n3=0;
 
Voici une notation identique utilisant cette fois ' if ' :
Code-source php
  1. if($n1 != $n2){
  2. 	$n3=1;
  3. }else{
  4. 	$n3=0;
  5. }
 

5. L'opérateur de contrôle d'erreurs

L'opérateur de contrôle d'erreur est ' @ ' (arobase).
Il permet de ne pas afficher de message d'erreur en cas d'échec de la requête PHP.
Aucune partie du script ne sera exécutée si une erreur est détectée.

Par exemple :
Code-source php
  1. $res = @mysql_connect($host, $login, $pass);
 
Mais il sera plus agréable pour l'internaute si l'erreur est contrôlée par l'affichage d'un message personnalisé.

6. Les opérateurs unaires

Ils permettent d'incrémenter ou de décrémenter une variable.
on le note ++ ou -- et on le place avant ou après la variable selon le moment ou l'on veut que la variable prenne sa nouvelle valeur.

Par exemple :
Code-source php
  1. $n1 = 10;
  2. echo $n1++; // affiche 10 puis ajoute 1 à $n1 qui vaut donc 11
  3. echo $n1; // affiche 11
  4. echo ++$n1; // ajoute 1 à $n1, donc 11+1 et affiche 12
 

7. Les opérateurs logiques

A connaitre absolument, ces opérateurs vous seront très utiles.
AND
Retourne "true" si $n1 et $n2 sont vrais, sinon retourne "false". Par exemple : $n1 && $n2 ou $n1 and $n2
OR
Retourne "true" si $n1 ou $n2 est vrai ou les deux, sinon retourne "false". Par exemple : $n1 || $n2 ou $n1 or $n2
XOR
Retourne "true" si $n1 ou $n2 est vrai mais pas les deux, sinon retourne "false". Par exemple : $n1 xor $n2
NOT
Retourne "true" si $n1 est faux, sinon retourne "false". Par exemple : !$n1

8. Les opérateurs de chaînes de caractéres

Ce sont les opérateurs ' . ' et ' .= '
Il permettent de concaténer 2 variables (chaines de caractères ou données numériques).

Par exemple :
Code-source php
  1. $p1 = "Cool ";
  2. $p1 .= "le ";
  3. $p2 = $p1."PHP";
  4. echo $p2; // affiche : Cool le PHP
 

9. Priorité des opérateurs

La liste ci-dessous représente l'ordre de priorité croissante des opérateurs.
  1. (associativité à gauche) OR
  2. (associativité à gauche) XOR
  3. (associativité à gauche) AND
  4. (associativité à droite) = += -= *= /= %= .=
  5. (associativité à gauche) ? :
  6. (associativité à gauche) ||
  7. (associativité à gauche) &&
  8. (associativité à gauche) |
  9. (associativité à gauche) ^
  10. (associativité à gauche) &
  11. (associativité à gauche) == != === !==
  12. (Non associatif) < <= > >=
  13. (Non associatif) << >>
  14. (associativité à gauche) + - .
  15. (associativité à gauche) * / %
  16. (associativité à droite) ! ~ ++ -- @
 
  • Rédiger un commentaire
  • Afficher les commentaires (0)
Vous devez être identifié pour poster un commentaire
Aucun commentaire