| Accueil | table PHP | index PHP | précédent | suivant |

Opérateurs et expressions

Les variables peuvent être combinées entre elles par des opérateurs pour constituer des expression. Voici les principaux opérateurs à utiliser.

opérateurs arithmétiques
+ - addition, soustraction
* / multiplication, division
% modulo : reste de la division de deux entiers
++ -- incrémentation, décrémentation : ajoute ou retranche 1 à la variable qui précède
opérateurs de comparaisons
== égal
!= différent de
< plus petit que
> plus grand que
<= plus petit ou égal
>= plus grand ou égal
opérateurs logiques
&&, and Et logique :
true && true = true
true && false = false
false && false = false
||, or Ou logique :
true || true = true
true || false = true
false || false = false
! Non logique
! true = false
! false = true

Dans les opérations arithmétiques, les opérateurs * / et % sont prioritaires par rapport aux opérateurs + et - et leurs opérations s'exécuteront donc avant les additions et soustractions en l'absence de parenthèses. On peut, dans une même expression, mélanger des nombres entiers et non entiers. Les résultats non entiers seront affichés avec un nombre de décimales qui dépend du système. PHP dispose de nombreuses fonctions permettant de présenter les nombres, nous en reparlerons plus loin.
Les opérateurs d'incrémentation ne donnent pas le même résultat selon qu'ils sont placés avant ou après l'expression à laquelle ils s'appliquent. Cela prète à confusion et l'on pourra se contenter de les utiliser pour les comptages dans les boucles : $A++; remplace $A=$A+1; $A--; remplace $A=$A-1;

Le résultat d'une expression logique est une variable logique ne pouvant prendre que la valeur true ou false.
Ainsi : $bool=$A and $B; sera vrai si A et B sont vrais et faux si A ou B est faux.
Dans les expressions logiques l'opérateur ! est prioritaire par rapport aux opérateurs de comparaison, ces derniers étant eux-mêmes prioritaires par rapport aux opérateurs and et or

Les script ci-dessous, englobés dans du code HTML, montrent quelques exemples d'expressions. Notez l'alternance du code HTML et des scripts. Nous avons vu que l'on pouvait insérer des variables dans une chaîne de caractères; elles sont remplacées par leur valeur lors de l'affichage de la chaîne. Pour éviter ce remplacement, faire précéder le signe $ par le caractère d'échappement.
Notons aussi que pour inclure comme du texte dans du code HTML les caractères de balises < et > on doit les remplacer par leur représentation normalisée Unicode &lt; (ou &#60;) et &gt; (ou &#62;)
De même le caractère & devra impérativement être remplacé par le code &amp; (ou &#38;)
L'espace insécable sera codé &nbsp; (ou &#160;)
Pour les caractères qui ne peuvent pas être saisis au clavier, voir la table des codes normalisés Unicode.


<!--script009 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Titre de cette page : script008</title>
<meta name="description" content="Phrase décrivant clairement cette page" />
<meta name="keywords" content="mot1 mot2, mot3 mot4 mot5, mot6" />
<link rel="stylesheet" type="text/css" href="PHPStyle008.css" />
</head>

<body>

<div id="conteneur">
Prenons les valeurs suivantes : <br/>$A=18 <br/>$B=7 <br/>$C=12.56<br/> $bool=true<br/>
et donnons quelques exemples d'expressions&#160;:<br/><br/>

<?php $A=18; $B=7; $C=12.56; $bool=true; ?>

<!-- les commentaires sont du texte HTML -->
$A+12*$B+($C-$A)/3= <?php echo $A+12*$B+($C-$A)/3; ?><br/>
$A%$B= <?php echo $A%$B; ?><br/>
<!-- le commentaire ci-dessous est produit en PHP par echo
le caractère \ doit précéder le signe $ pour éviter
la confusion avec les variables $A et $B-->
<?php echo "\$A+\$B%2="; ?> <?php echo $A+$B%2; ?><br/>
<!-- les commentaires sont à nouveau du texte HTML -->
Expression vraie : $A&gt;$B= <?php echo $A>$B; ?><br/>
Expression vraie : $A&gt;$B and $C&lt;$A= <?php echo $A>$B and $C<$A; ?><br/>
Expression fausse : $A&gt;$B and $C&gt;$A= <?php echo $A>$B and $C>$A; ?><br/>
Expression vraie : $A&gt;$B and !($C&gt;$A)= <?php echo $A>$B and !($C>$A); ?><br/>
Expression fausse : !$bool and $B<$A= <?php echo !$bool and $B<$A; ?><br/>
</div>

</body
</html>


Exécuter ce script




suivant