Manuel PHP

Opérateurs d'incrémentation et décrémentation

PHP supporte les opérateurs de pre- et post-incrémentation et décrémentation, comme en langage C.

Note: Les opérateurs d'incrémentation/décrémentation n'affectent pas les valeurs booléennes. La décrémentation des valeurs NULL n'a également aucun effet, mais leur incrémentation donnera comme résultat 1.

Opérateurs d'incrémentation et décrémentation
Exemple Nom Résultat
++$a Pre-incrémente Incrémente $a de 1, puis retourne $a.
$a++ Post-incrémente Retourne $a, puis l'incrémente de 1.
--$a Pré-décrémente Décrémente $a de 1, puis retourne $a.
$a-- Post-décrémente Retourne $a, puis décrémente $a de 1.

Voici un exemple simple

Example#1 Exemples d'incrémentations et décrémentations

  1. <?php
  2. echo '<h3>Post-incrémentation</h3>';  
  3. $a = 5;  
  4. echo "Devrait valoir 5: " . $a++ . "<br />\n";  
  5. echo "Devrait valoir 6: " . $a . "<br />\n";  
  6. echo '<h3>Pre-incrémentation</h3>';  
  7. $a = 5;  
  8. echo "Devrait valoir 6: " . ++$a . "<br />\n";  
  9. echo "Devrait valoir 6: " . $a . "<br />\n";  
  10. echo '<h3>Post-décrémentation</h3>';  
  11. $a = 5;  
  12. echo "Devrait valoir 5: " . $a-- . "<br />\n";  
  13. echo "Devrait valoir 4: " . $a . "<br />\n";  
  14. echo '<h3>Pre-décrémentation</h3>';  
  15. $a = 5;  
  16. echo "Devrait valoir 4: " . --$a . "<br />\n";  
  17. echo "Devrait valoir 4: " . $a . "<br />\n";  
  18. ?> 

PHP suit les conventions de Perl pour la gestion des opérateurs arithmétiques, et non pas celle du C. Par exemple, en Perl 'Z'+1 retourne 'AA', alors qu'en C, 'Z'+1 retourne '[' (ord('Z') == 90, donc ord('[') == 91). Notez que les variables de caractères peuvent être incrémentées, mais pas décrémentées et même seuls les caractères ASCII (a-z et A-Z) sont supportés.

Example#2 Opérations arithmétiques sur un caractère

  1. <?php
  2. $i = 'W';  
  3. for($n=0; $n<6; $n++) {  
  4. echo ++$i . "\n";  
  5. }  
  6. ?> 

L'exemple ci-dessus va afficher :

X Y Z AA AB AC

L'incrémentation ou la décrémentation d'un booléen n'a aucun effet.


Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Breizh Blog