« Programmation PHP/Opérateurs » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
(:Julien:) (discussion | contributions)
Ligne 76 : Ligne 76 :


== Opérateur d'assignation ==
== Opérateur d'assignation ==
Ils permettent de simplifier la programmation (voir l'exemple)
Ils permettent de simplifier l'écriture des assignations
*+= additionne deux valeurs et stocke le résultat dans la variable ($x+=5 <=> $x=$x+5)
*+= additionne deux valeurs et stocke le résultat dans la variable ($x+=5 équivaut à $x=$x+5)
*-= soustrait deux valeurs et stocke le résultat dans la variable ($x-=5 <=> $x=$x-5)
*-= soustrait deux valeurs et stocke le résultat dans la variable ($x-=5 équivaut à $x=$x-5)
*<nowiki>*</nowiki>= multiplie deux valeurs et stocke le résultat dans la variable ($x*=5 <=> $x=$x*5)
*<nowiki>*</nowiki>= multiplie deux valeurs et stocke le résultat dans la variable ($x*=5 équivaut à $x=$x*5)
*/= divise deux valeurs et stocke le résultat dans la variable ($x/=5 <=> $x=$x/5)
*/= divise deux valeurs et stocke le résultat dans la variable ($x/=5 équivaut à $x=$x/5)
*%= donne le reste de la division de deux valeurs et stocke le résultat dans la variable ($x%=5 <=> $x=$x%5)
*%= donne le reste de la division de deux valeurs et stocke le résultat dans la variable ($x%=5 équivaut à $x=$x%5)
*|= Effectue un OU logique entre deux valeurs et stocke le résultat dans la variable ($x|=5 <=> $x=$x|5)
*|= effectue un OU logique entre deux valeurs et stocke le résultat dans la variable ($x|=5 équivaut à $x=$x|5)
*^= Effectue un OU exclusif entre deux valeurs et stocke le résultat dans la variable ($x^=5 <=> $x=$x^5)
*^= effectue un OU exclusif entre deux valeurs et stocke le résultat dans la variable ($x^=5 équivaut à $x=$x^5)
*&= Effectue un Et logique entre deux valeurs et stocke le résultat dans la variable ($x&=5 <=> $x=$x&5)
*&= effectue un ET logique entre deux valeurs et stocke le résultat dans la variable ($x&=5 équivaut à $x=$x&5)
*.= Concatène deux chaînes et stocke le résultat dans la variable ($x.='test' <=> $x=$x.'test')
*.= concatène deux chaînes et stocke le résultat dans la variable ($x.='test' équivaut à $x=$x.'test')


== Opérateur d'incrémentation ==
== Opérateur d'incrémentation ==

Version du 21 février 2009 à 00:33

Les opérateurs sont des symboles qui permettent de manipuler les variables.

Opérateurs arithmétiques

  • = Opérateur d'affectation
<?php
$un_chiffre = 4; //affectation de l'entier 4 à la variable un_chiffre
$un_mot = 'je suis fan des pâtes'; //affectation de la chaîne de caractères "je suis fan des pâtes" à la variable un_mot
?>
  • + : Opérateur d'addition
<?php
$mon_premier_chiffre = 3; //affectation du premier chiffre
$mon_deuxieme_chiffre = 4; //affectation du deuxieme chiffre
$resultat = $mon_premier_chiffre + $mon_deuxieme_chiffre; //affectation de l'addition des deux chiffres
echo $resultat; //affiche 3+4 soit 7
?>
  • - Opérateur de soustraction
<?php
$mon_premier_chiffre = 3; //affectation du premier chiffre
$mon_deuxieme_chiffre = 4; //affectation du deuxieme chiffre
$resultat = $mon_premier_chiffre - $mon_deuxieme_chiffre; //affectation de la soustraction des deux chiffres
echo $resultat; //affiche 3-4 soit -1
?>
  • * Opérateur de multiplication
<?php
$mon_premier_chiffre = 3; //affectation du premier chiffre
$mon_deuxieme_chiffre = 4; //affectation du deuxieme chiffre
$resultat = $mon_premier_chiffre * $mon_deuxieme_chiffre; //affectation de la multiplication des deux chiffres
echo $resultat; //affiche 3*4 soit 12
?>
  • / Opérateur de division
<?php
$mon_premier_chiffre = 3; //affectation du premier chiffre
$mon_deuxieme_chiffre = 4; //affectation du deuxieme chiffre
$resultat = $mon_premier_chiffre / $mon_deuxieme_chiffre; //affectation de la division des deux chiffres
echo $resultat; //affiche 3/4 soit 0,75
?>
  • % Opérateur modulo
<?php
$mon_premier_chiffre = 3; //affectation du premier chiffre
$mon_deuxieme_chiffre = 4; //affectation du deuxieme chiffre
$resultat = $mon_premier_chiffre % $mon_deuxieme_chiffre; //affectation du modulo  des deux chiffres
echo $resultat; //affiche 3 modulo 4 soit 3 (le modulo est le reste de la division euclidienne (sans virgule) )
?>

Opérateurs logiques booléens

Les opérateurs logiques agissent sur les types booléens (true ou false).

  • ! Négation : false -> true et true -> false
  • && Opérateur et (and)
  • || Opérateur ou (or)

Opérateurs logiques bit à bit

Les opérateurs logiques bit à bit agissent sur chaque bit des valeurs entières.

  • ~ Négation : 0 -> 1 et 1 -> 0
  • & Opérateur et (and)
  • | Opérateur ou (or)
  • ^ Opérateur ou exclusif (xor)

Opérateur d'assignation

Ils permettent de simplifier l'écriture des assignations

  • += additionne deux valeurs et stocke le résultat dans la variable ($x+=5 équivaut à $x=$x+5)
  • -= soustrait deux valeurs et stocke le résultat dans la variable ($x-=5 équivaut à $x=$x-5)
  • *= multiplie deux valeurs et stocke le résultat dans la variable ($x*=5 équivaut à $x=$x*5)
  • /= divise deux valeurs et stocke le résultat dans la variable ($x/=5 équivaut à $x=$x/5)
  • %= donne le reste de la division de deux valeurs et stocke le résultat dans la variable ($x%=5 équivaut à $x=$x%5)
  • |= effectue un OU logique entre deux valeurs et stocke le résultat dans la variable ($x|=5 équivaut à $x=$x|5)
  • ^= effectue un OU exclusif entre deux valeurs et stocke le résultat dans la variable ($x^=5 équivaut à $x=$x^5)
  • &= effectue un ET logique entre deux valeurs et stocke le résultat dans la variable ($x&=5 équivaut à $x=$x&5)
  • .= concatène deux chaînes et stocke le résultat dans la variable ($x.='test' équivaut à $x=$x.'test')

Opérateur d'incrémentation

  • ++ Incrémente de 1 la valeur de la variable si $x=1, $x++ = 2
  • -- Décrémente de 1 la valeur de la variable si $x=2, $x-- = 1

Ces opérateurs sont très utiles dans les boucles (notamment for)

Opérateur de Comparaison

  • == Renvoi un booléen pour indiquer l'égalité (ce n'est pas =) si $x == 1 -> true ou false (1 ou 0)
  • >= Renvoi un booléen pour indiquer la supériorité-égalité si $x >= 1 -> true ou false (1 ou 0)
  • <= Renvoi un booléen pour indiquer l'infériorité-égalité si $x <= 1 -> true ou false (1 ou 0)
  • > Renvoi un booléen pour indiquer la supériorité stricte si $x > 1 -> true ou false (1 ou 0)
  • < Renvoi un booléen pour indiquer l'infériorité stricte si $x < 1 -> true ou false (1 ou 0)
  • != Renvoi un booléen pour indiquer la différence si $x != 1 -> true ou false (1 ou 0)
  • === Renvoi un booléen pour indiquer l'égalité à la fois de la valeur et du type
  • !== Renvoi un booléen pour indiquer la différence ou de la valeur ou du type


Opérateur divers

Opérateur ternaire

L'opérateur ? permet de renvoyer une valeur ou une autre en fonction d'un test. Par exemple:

$appreciation=($note>10)?"bon":"mauvais";

qui est strictement équivalent au bloc PHP suivant:

if ($note>10)
$appreciation="bon";
else
$appreciation="mauvais";