[PHP] Problème avec un algorithme
                    
        
     
             
                    llomgui
    
        
    
                    Messages postés
            
                
     
             
            16
        
            
                                    Statut
            Membre
                    
                -
                                     
Alain_42 Messages postés 5413 Statut Membre -
        Alain_42 Messages postés 5413 Statut Membre -
        Bonjour, 
J'ai quelques problème en php pour une fonction que j'aimerai faire.
La fonction est la suivante:
J'aime convertir en hexadecimal un intervalle de nombre.
Exemple [1;15]
Reponse: (1;2;3;4;5;6;7;8;9;a;b;c;d;e;f).
Merci d'avance pour vos réponses.
                
            
                
    
    
    
        J'ai quelques problème en php pour une fonction que j'aimerai faire.
La fonction est la suivante:
J'aime convertir en hexadecimal un intervalle de nombre.
Exemple [1;15]
Reponse: (1;2;3;4;5;6;7;8;9;a;b;c;d;e;f).
Merci d'avance pour vos réponses.
        A voir également:         
- [PHP] Problème avec un algorithme
- Easy php - Télécharger - Divers Web & Internet
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Expert php pinterest - Télécharger - Langages
- Algorithme application pc - Télécharger - Édition & Programmation
- Algorithme euromillion excel gratuit - Forum Algorithmes / Méthodes
4 réponses
                        
                            
                    voilà une solution:
    
                $chaine="[1;45]";
//extraction des deux nombre de la chaine
$chaine2=substr($chaine,1); // ote le [
$chaine3=substr($chaine2,0,-1); //ote le ]
$array_nbr=explode(";",$chaine3); //on sépare les deux nombres
$nb_1=$array_nbr[0];
$nb_2=$array_nbr[1];
$array_reponse=array();
for($n=$nb_1;$n<=$nb_2;$n++){
	$array_reponse[]= dechex($n); //convertit le n en hexa
}
///implode va mettre automatiquement les ; entre les nombres
$reponse="(".implode(";",$array_reponse).")";
echo "la trasnformation de l'intervale: ".$chaine;
echo "<br /> est: ".$reponse;
                
                
                
        
     
             
                    llomgui
    
        
    
                    Messages postés
            
                
     
             
            16
        
            
                                    Statut
            Membre
                    
    
    
    Merci c'est exactement ça. ;)
    
    
                        
                    perso ce que je ferais c'est de faire un tableau avec la suite hexadécimal,
et tu le parcourt a partir a partir de A jusque B, vu que ton entrée se trouve sous la forme (A,B).
et tu le resors ... ca dépend de ce que tu veut ...
    
                et tu le parcourt a partir a partir de A jusque B, vu que ton entrée se trouve sous la forme (A,B).
et tu le resors ... ca dépend de ce que tu veut ...
                        
                    une autre solution avec preg_match_all pour extraire les nombres de la chaine
    
                
<?php 
$chaine="[1;45]";
//extraction des deux nombre de la chaine avec le fct preg_match_all
$masque='/([0-9]{1,})/';
preg_match_all($masque,$chaine,$out,PREG_SET_ORDER);
$nb_1=$out[0][0];
$nb_2=$out[1][0];
$array_reponse=array();
for($n=$nb_1;$n<=$nb_2;$n++){
	$array_reponse[]= dechex($n); //convertit le n en hexa
}
///implode va mettre automatiquement les ; entre les nombres
$reponse="(".implode(";",$array_reponse).")";
echo "la trasnformation de l'intervale: ".$chaine;
echo "<br /> est: ".$reponse;
?>
                
                