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 incr�mente $a 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 :

<?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 #1 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.