Foros del Web » Programando para Internet » PHP »

problema con in_array() y cadenas largas

Estas en el tema de problema con in_array() y cadenas largas en el foro de PHP en Foros del Web. Tengo un array el cual contiene cadenas largas (~20 caracteres). Cuando lo recorro y compruebo si existe un valor en ese array con la funcion ...
  #1 (permalink)  
Antiguo 13/04/2007, 00:30
 
Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 19 años, 11 meses
Puntos: 0
problema con in_array() y cadenas largas

Tengo un array el cual contiene cadenas largas (~20 caracteres).
Cuando lo recorro y compruebo si existe un valor en ese array con la funcion in_array(), ésta no funciona correctamente y no encuentra valores que realmente si que existen (lo he comprobado "a mano", con print_r() ).

He deducido que es un problema con la longitud de los valores... alguien conoce el tema?
  #2 (permalink)  
Antiguo 13/04/2007, 00:50
 
Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 19 años, 11 meses
Puntos: 0
De acuerdo Re: problema con in_array() y cadenas largas

PD:
El problema veo que también lo tengo al comparar (==) en condicionales cadenas tan largas como las mencionadas.


PDII: CREO que he solucionado el problema al pasar el tercer parámetro opcional a la función in_array( $aguja, $paja, true ), obligando a comprobar el tipo (y no convirtiendo a int según he leido) de la $aguja.
Los condicionales que implicaban un == los he cambiado a === y parece que ahora funcionan pero no estoy seguro.

De todas maneras me gustaría que alguien me explicara el porque de todo esto (he leido acerca de los 32 bits a los que estan limitados los int, pero me gustaria una explicación más amplia) y donde más me puedo encontrar problemas de este tipo.
Gracias
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 14:42.