Foros del Web » Programando para Internet » PHP »

Armar una secuencia a un valor

Estas en el tema de Armar una secuencia a un valor en el foro de PHP en Foros del Web. Hola a todos, Hace un tiempo que estoy aprendiendo php y estoy aramando una amplicacion para generar facturas con codigo de barras y hasta ahora ...
  #1 (permalink)  
Antiguo 23/10/2011, 15:09
 
Fecha de Ingreso: mayo-2009
Mensajes: 68
Antigüedad: 15 años, 5 meses
Puntos: 0
Armar una secuencia a un valor

Hola a todos,

Hace un tiempo que estoy aprendiendo php y estoy aramando una amplicacion para generar facturas con codigo de barras y hasta ahora me va muy bien, pero me frené en una parte que no se como hacer y a eso viene esta consulta.


El tema es que tengo un valor de 54 caracteres dentro de una variable:

Código PHP:
$variable ="044410896095611102300088001000000000000000001119999998"
y tengo que hacerle un codigo verificador que consiste en:

Paso 1: Comenzando por el primer digito del string numèrico, asignarle la secuencia 1, 3, 5, 7, 9; y luego 3,5,7,9 hasta completar la longitud total del mismo.

Paso 2: Realizar el producto de cada elemento de la secuencia por el elemento correspondiente del string a verificar.


Luego son varios pasos más como: sumar, dividir pero eso si se hacerlo.



Alguien sabe como podria ahcerlo?, estuve buescando pero no se me acurre como. Les agradeceria si me pueden dar una mano.


Saludos,

Mariano
  #2 (permalink)  
Antiguo 24/10/2011, 04:21
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: Armar una secuencia a un valor

No entiedo muy bien el paso 1 pero puedes utilizar str_split para hacer un array con la cadena y operar sobre los valores. Salu2!
__________________
Fere libenter homines, id quod volunt, credunt.

Etiquetas: armar, secuencia, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:22.