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:
<?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);
?>

Entrar
Cadastre-se
Ajuda
Responder


Quote