Solution de l'exercice :

Source : lesson_03_increment.php Résultat
<?php
$mesValeurs 
= array(5,"A""A0""A8""A9""5Z8""5Z9"
  
"9Z8","9Z9""99Z8","99Z9""Z8""Z9""z8","z9"
  
"Zx8","Zx9""Zz8","Zz9""Zxk""Zxk1""Zxk9"
  
"J85410""J0000""K0009""Z000Z"); 
$mesCommentaires = array("On passe au caractère ascii suivant"
    
"Seule la partie de droite est incrémentée"
    
"Arrivé à 9 on augmente le caractère de gauche"
    
"Et ainsi de suite"
    
"Attention ici la chaine gagne un caractère"
    
""
    
""
    
""
    
""); 
echo 
'<table  class=exercises> 
    <th class=inputs>Au départ</th>
    <th class=outputs>++b$</th>
    <th class=outputs>--b$</th>
    </tr>'
;
for (
$i 0$i <= 25$i++)
{
    
$ligne_var $mesValeurs[$i] ;
    
$comment_var $mesCommentaires[$i];
    echo 
"<tr><td class=inputs>b$= $ligne_var </td>";
    
$b $ligne_var ;  ;
    
$c = ++$b  ;
    
$b $ligne_var ;  ;
    
$d = --$b  ;
    echo 
"<td class=outputs>$c</td>";
    echo 
"<td class=outputs>$d</td>";
    echo 
"</tr>";
}
echo 
"</table>";
echo 
"Règle : (voir la source) Les lettres sont incrémentées 
dans l'ordre de l'alphabet : l'incrémentation du Z donne le A, 
sauf s'il est en début de chaine, alors l'incrementation de Z donn AA.
de même l'incrementation du z donne a , ou aa si le z est en début de chaine.
L'incrémentation du 9 (mélangé à des lettres) donne 0 (plus la retenue à gauche
comme il se doit pour une addition normale), sauf si le 
9 est en première position (donne 10). En d'autres termes, <b>le 1 de
retenue, s'il se propage jusqu'à gauche devient A ou a si le caractère 
de gauche érait un Z ou z, respectivement</b>.<br />
Dès qu'il y a une lettre dans la chaine la décrémentation ne fonctionne pas"
;
?>

Au départ ++b$ --b$
b$= 5 64
b$= A BA
b$= A0 A1A0
b$= A8 A9A8
b$= A9 B0A9
b$= 5Z8 5Z95Z8
b$= 5Z9 6A05Z9
b$= 9Z8 9Z99Z8
b$= 9Z9 10A09Z9
b$= 99Z8 99Z999Z8
b$= 99Z9 100A099Z9
b$= Z8 Z9Z8
b$= Z9 AA0Z9
b$= z8 z9z8
b$= z9 aa0z9
b$= Zx8 Zx9Zx8
b$= Zx9 Zy0Zx9
b$= Zz8 Zz9Zz8
b$= Zz9 AAa0Zz9
b$= Zxk ZxlZxk
b$= Zxk1 Zxk2Zxk1
b$= Zxk9 Zxl0Zxk9
b$= J85410 J85411J85410
b$= J0000 J0001J0000
b$= K0009 K0010K0009
b$= Z000Z Z001AZ000Z
Règle : (voir la source) Les lettres sont incrémentées dans l'ordre de l'alphabet : l'incrémentation du Z donne le A, sauf s'il est en début de chaine, alors l'incrementation de Z donn AA. de même l'incrementation du z donne a , ou aa si le z est en début de chaine. L'incrémentation du 9 (mélangé à des lettres) donne 0 (plus la retenue à gauche comme il se doit pour une addition normale), sauf si le 9 est en première position (donne 10). En d'autres termes, le 1 de retenue, s'il se propage jusqu'à gauche devient A ou a si le caractère de gauche érait un Z ou z, respectivement.
Dès qu'il y a une lettre dans la chaine la décrémentation ne fonctionne pas


Tous droits réservés. 2005-2020