Foros del Web » Programando para Internet » PHP »

¿Caracter raro?

Estas en el tema de ¿Caracter raro? en el foro de PHP en Foros del Web. Hola a tod@s Me está pasando una cosa curiosa. Resulta que al usar una determinada funcion me devuelve una cadena de caracteres. Entonces, para dividirla ...
  #1 (permalink)  
Antiguo 06/03/2010, 12:40
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
¿Caracter raro?

Hola a tod@s

Me está pasando una cosa curiosa. Resulta que al usar una determinada funcion me devuelve una cadena de caracteres. Entonces, para dividirla en trozos le aplico lo siguiente:

Código HTML:
$cadena=una_funcion();
$partes=explode(' ', $cadena);
print (end($partes));
Dependiendo del resultado de la funcion, la cadena que se recibe acaba en OK o en otra cosa, según los casos. Para los casos en que acaba OK si ejecuto ese código me sale:

no-store OK

Entre la palabra store y OK parece que hay un espacio, aunque se supone que yo he dividido la cadena con explode() según los espacios. La cosa es que si yo hago:

Código HTML:
if (end($partes)=="no-store OK"){
   $resultado="OK";
}else{
   $resultado="FALLO";
}
print ($resultado);
me muestra siempre FALLO cuando se supone que me debería dar OK.

¿Tengo algún fallo en el código o es que hay un caracter raro entre store y OK que no se ve y por eso me falla el código?
¿Como lo podría hacer si lo que me interesa es saber si las dos últimas letras de la cadena que hay en $cadena son OK u otra cosa?.

Gracias de antemano. Un saludo.
  #2 (permalink)  
Antiguo 06/03/2010, 13:27
Avatar de CdG
CdG
 
Fecha de Ingreso: marzo-2008
Mensajes: 114
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: ¿Caracter raro?

utiliza var_dump() para ver el contenido de $partes
__________________
no quiero ser un árbol y caminar
Jacinto Piedra
  #3 (permalink)  
Antiguo 06/03/2010, 13:30
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: ¿Caracter raro?

Te da siempre fallo porque no estás comparando bien:
Código PHP:
Ver original
  1. if (end($partes)=="OK"){
  2.    $resultado="OK";
  3. }else{
  4.    $resultado="FALLO";
  5. }
  6. print ($resultado);

Puedes hacerlo de otra forma por descartar errores:
Código PHP:
Ver original
  1. $cadena=una_funcion();
  2. $partes=explode(" ", $cadena);
  3.  
  4. $ultimo=count($partes)-1;
  5. if($partes[$ultimo]=="OK") { $resultado="OK"; }
  6. else { $resultado="Fallo"; }
  7.  
  8. echo $resultado;
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #4 (permalink)  
Antiguo 06/03/2010, 14:41
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: ¿Caracter raro?

Hola, gracias por contestar.

He utilizado la funcion var_dump() y me sale un array con 24 elementos. El último elemento, que es el que necesito sale esto:

[23]=> string(14) "no-store OK"

Ô_o ¿14 caracteres? Está claro que ese supuesto espacio en blaco en realidad es un caracter extraño ¿no?. ¿Como se puede saber que caracter es? ¿Como se podría comprobar que los dos últimos caracteres son OK?
  #5 (permalink)  
Antiguo 06/03/2010, 15:15
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: ¿Caracter raro?

Bueno, ya me funciona. He utilizado la función substr() que acabo de conocer y me ha venido muy bien.

Me quedo con la duda de saber que caracter invisible era ese.

Un saludo.

Etiquetas: raro, caracteres
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 17:34.