5.6 Les opérateurs
5 Référence du langage
Manuel PHP
. La précédence des 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écution ->Opérateurs d'incrémentation et décrémentation . Les opérateurs logiques . Opérateurs de chaînes . Opérateurs de tableaux . Opérateur de type
|
5.6.8 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'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
.
|
| 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
| 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.
| Opérations arithmétiques sur un caractère |
<?php $i = 'W'; for($n=0; $n<6; $n++) { echo ++$i . "\n"; } ?>
|
L'incrémentation ou la décrémentation d'un booléen n'a aucun effet.
|