Foros del Web » Programando para Internet » PHP »

Caracter extraño en lectura de txt

Estas en el tema de Caracter extraño en lectura de txt en el foro de PHP en Foros del Web. Hola tengo un archivo txt con un listado de paises. Lo que ha de hacer es según el pais que elijas en un select ($country), ...
  #1 (permalink)  
Antiguo 13/05/2004, 06:23
 
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 279
Antigüedad: 15 años, 11 meses
Puntos: 1
Caracter extraño en lectura de txt

Hola tengo un archivo txt con un listado de paises. Lo que ha de hacer es según el pais que elijas en un select ($country), aplicar una tarifa u otra. Hasta aqui bien.

La lectura a hago con:
$pais = file('paises.txt');
$hay=count($pais);

Y es correcta

La comparación es esta:
for($i=0;$i<$hay;$i++){
if ($country==$pais[$i]){
$ship=$pais[$i];
break;}
}

Pero no va, he visto que el $pais[n] pone algun tipo de caracter al final.

El txt es asi (el cambio de linea es un retorno de carro del notepad):

AFGANISTAN
ALBANIA
ALEMANIA
ANGOLA
ANGUILA
ANTIGUA
ARABIA SAUDI
ARGELIA
ARGENTINA
ARMENIA
ARUBA
.......

¿como puedo resolverlo??

saludos y gracias de antemano.
__________________
Sataca - La Retícula
www.lareticula.com
  #2 (permalink)  
Antiguo 13/05/2004, 06:31
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Si lees en el manual la funcion file() (www.php.net/file) veras que dice que se conserva el salto de linea al final de cada elemento. Usa trim() (www.php.net/trim) para eliminarlo.

Saludos.

PD: Tambien usaria strtolower() o strtoupper() para pasar ambas cadenas al mismo "case".

PD2: Ya puestos, ¿para que el bucle? Tienes la funcion in_array() para ver si un valor esta en un array. Y en $ship puedes almacenar $country, ya que tiene el mismo valor que $pais[$i]. No se en realidad cual puede ser mas rapida, pero creo que C siempre sera mas rapido que PHP.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 13/05/2004, 06:38
 
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 279
Antigüedad: 15 años, 11 meses
Puntos: 1
gracias

Exacto, eso era lo que estaba buscando.

Ahora me miraré tu suggerencia del array.

saludos

sataca
__________________
Sataca - La Retícula
www.lareticula.com
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 13:29.