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'affecte 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.
Tableau 15-6. 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
Exemple 15-10. Exemples d'incrémentations et décrémentations
<?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"; ?>
|
|
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.
Exemple 15-11. Opérations arithmétiques sur un caractère
<?php $i = 'W'; for($n=0; $n<6; $n++) { echo ++$i . "\n"; } ?>
|
L'exemple ci-dessus va afficher : |
L'incrémentation ou la décrémentation d'un booléen n'a aucun effet.