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.
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.