[PHP] Problème avec un algorithme
llomgui
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
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
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Php alert ✓ - Forum PHP
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
15
Date d'inscription
Statut
Membre
Dernière intervention
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; ?>