Home           
Les opérateurs en PHP
 

<< Les fonctions en PHP   Les sessions en PHP >>

Nous allons voir ici les différents opérateurs utilisés dans PHP.

Les opérateurs mathématiques

Les opérateurs mathématiques en PHP sont identiques à la plupart des langages.

Exemple Fonction
-$a Négation de la valeur
$a + $b addition de 2 nombres.
$a - $b Retranche $b à $a.
$a * $b Multiplie $a par $b.
$a / $b Divise $a par $b (retourne une valeur entière si les les 2 nombres sont des entiers.
$a % $b Retourne le reste de la division de $a par $b.
pow($a,$b) $a à la puissance $b.

Les opérateurs sur les bits

Nous allons voir dans ce paragraphe, les opérateurs sur les bits.

Exemple Fonction
$a & $b $a ET $b : les bits de $a et de $b positionnés à 1 restent à 1 dans le résultat : 0010 & 0110 = 0010.
$a | $b $a OU $b : les bits de $a ou de $b positionnés à 1 restent à 1 dans le résultat : 0010 | 0110 = 0110.
$a ^ $b $a OU(exclusivif) $b : les bits de $a ou de $b mais pas des 2 positionnés à 1 restent à 1 dans le résultat : 0010 ^ 0110 = 0100.
~$a NON $a : les bits positionnés à 1 dans $a sont positionnés à 0 et vice-versa : ~ 0010 = 1101.

ATTENTION : ici l'opérateur ^ est l'opérateur OU EXCLUSIF et ce n'est pas l'opérateur puissance.

Maintenant regardons les opérateurs de décalage de bits.

Exemple Fonction
$a << $b Décalage de $a de $b bits vers la gauche : on multiplie $a par 2 à la puissance $b : 3 << 1 = 6 ( 0011 << 1 = 0110 ).
$a >> $b Décalage de $a de $b bits vers la droite : on divise $a par 2 à la puissance $b : 6 >> 1 = 3 ( 0110 >> 1 = 0011 ).

ATTENTION : il ne faut pas faire de décalage à droite de plus de 32 bits sur les machines 32 bits. Il ne faut pas non plus faire de décalage sur des nombres de plus de 32 bits.

Les opérateurs d'assignation

Nous allons voir qu'en plus de l'opérateur =, il existe d'autres opérateurs d'assignation. Ces opérateurs sont en fait des combinaisons de l'opérateur = et des opérateurs arithmétique et des opérateurs sur les bits vu précédemment.

Par exemple $a += $b équivaut à $a = $a + $b. Ils permettent une facilité d'écriture.

Les opérateurs d'incrémentation/décrémentation

Il existe aussi 2 opérateurs permettant d'incrémenter/décrémenter des entiers ou des caractères : ce sont les opérateurs ++ et --.

Il y a la pré et la post incrémentation/décrémentation.

Exemple Fonction
$a++ Renvoie $a et incrémente $a de 1.
++$a Incrémente $a de 1 et renvoie $a.
$a-- Renvoie $a et décrémente $a de 1.
--$a Décrémente $a de 1 et renvoie $a.

Voici un petit bout de code qui vous perméttra de mieux comprendre (cf php.net):

<?php
echo '<h3>Post-incrémentation</h3>';
$a = 5;
echo "Devrait valoir 5: " . $a++ . "<br />\n";
echo "Devrait valoir 6: " . $a . "<br />\n";
echo '<h3>Pre-incrémentation</h3>';
$a = 5;
echo "Devrait valoir 6: " . ++$a . "<br />\n";
echo "Devrait valoir 6: " . $a . "<br />\n";
echo '<h3>Post-décrémentation</h3>';
$a = 5;
echo "Devrait valoir 5: " . $a-- . "<br />\n";
echo "Devrait valoir 4: " . $a . "<br />\n";
echo '<h3>Pre-décrémentation</h3>';
$a = 5;
echo "Devrait valoir 4: " . --$a . "<br />\n";
echo "Devrait valoir 4: " . $a . "<br />\n";
?>

Pour voir le résultat, cliquez-ici.

NB : l'incrémentation de 'Z' donne AA.

Les opérateurs de comparaison

Voici les différents opérateurs de comparaisons/

Exemple Fonction
$a == $b Renvoie true si $a et $b sont égaux.
$a === $b Renvoie true si $a et $b sont égaux et si $a et $b sont de même type.
$a != $b Renvoie true si $a et $b sont différents.
$a <> $b Renvoie true si $a et $b sont différents.
$a !== $b Renvoie true si $a et $b sont différents ou s'ils ne sont pas de même type.
$a < $b Renvoie true si $a est strictement plus petit que $b.
$a <= $b Renvoie true si $a est plus petit ou égal à $b.
$a > $b Renvoie true si $a est strictement plus grand que $b.
$a >= $b Renvoie true si $a est plus grand ou égal à $b.

Les opérateurs sur les tableaux et les chaînes

Il existe un opérateur de concaténation des chaînes qui est '.'. Il permet de concaténer 2 chaînes ensemble. De cet opérateur, découle l'opérateur .=.

Pour faire l'union de 2 tableaux, il faut utiliser l'opérateur +. Prenons $c = $a + $b par exemple. $c contiendra l'union de $a et de $b.

<? $a[0] = 1;
$a[1]=2;

$b[0] = 3;
$b[1] =4;

$c = $a + $b;

var_dump($c);
?>

Ce code va afficher array(2) { [0]=> int(1) [1]=> int(2) }. Par contre :
<? $a[0] = 1;
$a[1]=2;

$b[0] = 3;
$b[1] =4;

$c = $b + $a;

var_dump($c);
?>

va afficher array(2) { [0]=> int(3) [1]=> int(4) }.

Il faut remarquer que si 2 éléments ont le même numéro ou le même nom, c'est l'élément du premier tableau qui est choisi.

Il existe aussi des opérateurs de comparaison sur les tableaux.

Exemple Fonction
$a == $b Renvoie true si $a et $b contiennent les mêmes paires clés/valeurs.
$a === $b Renvoie true si $a et $b contiennent les mêmes paires clés/valeurs dans le même ordre et du même type.
$a != $b Renvoie true si $a et $b ne contiennent pas les mêmes paires clés/valeurs.
$a <> $b Renvoie true si $a et $b ne contiennent pas les mêmes paires clés/valeurs.
$a !== $b Renvoie true si $a et $b ne sont pas identiques.

Voici la grande majorité des opérateurs présentés.

 

<< Les fonctions en PHP   Les sessions en PHP >>
  eXTReMe Tracker