Ver Mensaje Individual
  #6 (permalink)  
Antiguo 09/10/2012, 13:56
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 7 meses
Puntos: 2237
Respuesta: Consulta operaciones con String

De hecho, puedes recorrer una cadena caracter por caracter sin dividirla:

1- Primero verifica que la longitud de la cadena sea adecuada con strlen(), si es necesario, elimina espacios y guiones con str_replace()
2- Los primeros 4 caracteres sean alfabéticos, con substr() y ctype_alpha()
3- Los últimos 7 caracteres deben ser numéricos, con substr() e is_numeric()
4- Crea un array donde contengas todos los caracteres con su respectivo valor:
0=0, 1=1... 9=9, A=10... Z=38

Código PHP:
Ver original
  1. $cadena = 'ABCD 123456-7';
  2. $letras = array(0 => 0, /* ......... */ 'Z' => 38);
  3. $posicion = 1; // Cada vez se multiplicara por dos
  4. $suma = 0; // Aquí guardarás el total
  5.  
  6. for($i = 0; $i < strlen($cadena); $i++) {
  7.     $caracter = $cadena[$i];
  8.     $suma += ($posicion * $letras[$caracter]);
  9.     $posicion = $posicion * 2;
  10. }
  11. // Al final, ya tendrás la suma
  12. // Sólo continúas con los pasos 6 al 8 y voilà!
__________________
- León, Guanajuato
- GV-Foto