SommaireTelecharger la documentationChapitre suivantChapitre precedent  

 
Raccourci :  
Les opérateurs

Les opérateurs arithmétiques
Les opérateurs d'assignation
Opérateurs sur les bits
Opérateurs de comparaison
Opérateur de contrôle d'erreur
Opérateur d'exécutions
Opérateurs d'incrémentation/Décrémentation
Les opérateurs logiques
La précédence des opérateurs
Opérateurs de chaînes

7.7.2 Les opérateurs d'assignation
[Notes en ligne] 

L'opérateur d'assignation le plus simple est le signe "=". Le premier réflexe est de penser que ce signe veut dire "égal à". Ce n'est pas le cas. Il signifie que l'opérande de gauche se voit affecter la valeur de l'expression qui est à droite du signe égal.
La valeur d'une expression d'assignation est la valeur assignée. Par exemple, la valeur de l'expression '$a = 3' est la valeur 3. Cela permet d'utiliser des astuces telles que :

<?php
  $a = ($b = 4) + 5;
// $a est maintenant égal à 9, et $b vaut 4.
?>
      


En plus du simple opérateur d'assignation, il existe des "opérateurs combinés" pour tous les opérateurs arithmétiques et pour les opérateurs sur les chaînes de caractères. Cela permet d'utiliser la valeur d'une variable dans une expression et d'affecter le résultat de cette expression à cette variable. Par exemple:

<?php
  $a = 3;
  $a += 5;
// affecte la valeur 8 à la variable $a.
// correspond à l'instruction '$a = $a + 5');
  $b = "Bonjour ";
  $b .= " tout le monde!";
// affecte la valeur "Bonjour tout le monde!" à
//  la variable $b
//  identique à $b = $b." tout le monde!";
?>
      


On peut noter que l'assignation copie le contenu de la variable originale dans la nouvelle variable (assignation par valeur), ce qui fait que les changements de valeur d'une variable ne modifieront pas la valeur de l'autre. Cela peut se revéler important lors de la copie d'un grand tableau durant une boucle. PHP 4 supporte aussi l'assignation par référence, en utilisant la syntaxe $var = &$othervar;, mais ce n'était pas possible en PHP 3. 'L'assignation par référence' signifie que les deux variables contiennent les mêmes données, et que la modification de l'une affecte l'autre. D'un autre côté, la recopie est très rapide.


Chapitre précédentChapitre suivantAccueil nexen.net