Hola.
He cogido un código de una página sobre Delphi (Trucomanía) y lo he "traducido" a php. Lo dejo aquí por si sirve de ayuda:
Código PHP:
<?
function letras ($num) {
$unidad = array ('un','dos','tres','cuatro','cinco','seis','siete','ocho','nueve','diez','once','doce', 'trece','catorce','quince');
$decena = array ('dieci','veinti','treinta','cuarenta','cincuenta','sesenta','setenta','ochenta','noventa');
$centena = array ('ciento','doscientos','trescientos','cuatrocientos','quinientos','seiscientos','setecientos','ochocientos','novecientos');
$linea = "";
$cen = (int) ($num / 100);
$doble = $num - ($cen*100);
$dec = (int)($num / 10) - ($cen*10);
$uni = $num - ($dec*10) - ($cen*100);
if ($cen > 0) $linea = $centena[$cen-1].' ';
if ($doble>0) {
if ($doble == 20) $linea .= " veinte";
else {
if ($doble < 16 ) $linea .= $unidad[$doble-1];
else {
$linea .=' '. $decena[$dec-1];
if ($dec>2 and $uni<>0) $linea .=' y ';
if ($uni>0) $linea.=$unidad[$uni-1];
}
}
}
return $linea;
}
echo letras (972);
?>
Saludos,