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.

Tableau 15-6. Opérateurs d'incrémentation et décrémentation

ExempleNomRésultat
++$aPre-incrémente Incrémente $a de 1, puis retourne $a.
$a++Post-incrémenteRetourne $a, puis l'incrémente de 1.
--$aPré-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-9. 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.

Exemple 15-10. 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 :

X
Y
Z
AA
AB
AC

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

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:02:20