Decimal Para Hexadecimal
Exemplo de função recursiva
Escrito por dragun em
PHP. Data: 07/08/2008
Licença: Alguns direitos reservados. Dar créditos ao autor e linkar este original
Ver tópico original no fórum.
Aqui vai um pequeno exemplo de como usar um função recursiva (que chama a ela mesma)
Nesse caso, a função converte números decimais para hexadecimais de qualquer tamanho.
Pra que eu vou querer essa função?
Sei lá, as vezes você precisa converter as cores RGB decimais para Hexa...
Segue função:
CODE
<?php
function converte_hexa($num){
if($num > 15){
$num_restante = (int)$num/16;
$num_atual = (int)$num%16;
}else{
//Pequena gambi para remover o zero a esquerda
$num_atual = (int)$num == 0 ? 16 : (int)$num;
}
switch($num_atual){
case 16: $hexa = ""; break; //Pequena gambi para remover o zero a esquerda
case 10: $hexa = "A"; break;
case 11: $hexa = "B"; break;
case 12: $hexa = "C"; break;
case 13: $hexa = "D"; break;
case 14: $hexa = "E"; break;
case 15: $hexa = "F"; break;
default: $hexa = $num_atual; break;
}
return $num <= 15 ? $hexa: monta_versao($num_restante) . $hexa;
}
$num = 255;
echo monta_versao($num);
?>
Comentários:
Klawdyo disse:
Ver o restante dos comentários no fórum (e aproveitar pra comentar também !).