Ver Mensaje Individual
  #14 (permalink)  
Antiguo 03/06/2003, 15:10
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Bueno, es que mi codigo es para cuando le pasas un digito, como ponias en tu primer post. Ahora lo que quieres es transformar un numero (cadena de digitos) en sus correspondientes caracteres. La opcion de Cluster es buena pero limitada a 2 digitos. Como prefiero las generalizaciones, aui va mi opcion:
Código PHP:
// cambiar es la misma fucion que en mi primer post
function cambiar($digito) {
$array=array(=> 'j'=> 'a'asi con todos, );

return 
$array[$digito];
}

// esta es la version general. Usa la funcion anterior

function cambiarNumero($numero) {

$numero=strval($numero);
$traduccion='';
for (
$i=0;$i<strlen($numero);$i++) {
  
$traduccion=$traduccion cambiar($numero{$i});
}

return 
$traduccion;
}

echo 
cambiarNumero(123); 
Creo que es bastante auto explicativa. Es simplemente pasarle a la primera funcion (que ya sabias que funcionaba) cada uno de los digitos y almacenar el valor que devolvia. Si tienes dudas con alguna funcion, mira en el manual.

Suerte.

PD: Esta dudando entre poner esta version (iterativa) o poner la version recursiva. Teniendo en cuenta que la explicacion de la recursiva iba a ser mucho mas recursiva, he optado por esta opcion.
__________________
Josemi

Aprendiz de mucho, maestro de poco.