elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Buscar cadena de texto dentro de otra. PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Buscar cadena de texto dentro de otra. PHP  (Leído 18,839 veces)
OssoH


Desconectado Desconectado

Mensajes: 844


Ver Perfil
Buscar cadena de texto dentro de otra. PHP
« en: 25 Febrero 2011, 19:40 pm »

Tengo el siguiente codigo :

Código:
  $string = 'Hello World!';
  if(stristr($string, 'Hello') === TRUE) {
    echo 'CIERTO';
  } else
   echo 'FALSO';

y me devuelve FALSO

en cambio si :

Código:
  $string = 'Hello World!';
  if(stristr($string, 'Hello') === FALSE) {
    echo 'FALSO';
  } else
   echo 'CIERTO';

me devuelve CIERTO.

Alguien puede decirme porque el primer codigo no funciona y en cambio el segundo si.
Lo unico que quiero es comprobar si existe una cadena de texto dentro de otra y me estoy volviendo loco.
Gracias


En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.614



Ver Perfil WWW
Re: Buscar cadena de texto dentro de otra. PHP
« Respuesta #1 en: 25 Febrero 2011, 20:43 pm »

Prueba con este:

Código
  1. <?php
  2. $string = 'Hello world';
  3. if(stristr($string, 'Hello') == TRUE){
  4.    echo 'Cierto';
  5. } else {
  6.    echo 'Falso';
  7. }
  8. ?>
  9.  
  10.  

Lo unico que cambia es que de tres(3) === pasa a dos(2).
Saludos


En línea

OssoH


Desconectado Desconectado

Mensajes: 844


Ver Perfil
Re: Buscar cadena de texto dentro de otra. PHP
« Respuesta #2 en: 25 Febrero 2011, 21:41 pm »

He encontrado la solución.
El problema está que que la función stristr devuelve un string o false. NUNCA true.


En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Buscar cadena de texto dentro de otra. PHP
« Respuesta #3 en: 25 Febrero 2011, 22:57 pm »

En el código el único error y problema que hay es lógico.

Estas usando ===, con estos estas diciendo que el valor debe ser exactamente igual y del mismo tipo de datos.
En el if estas comparando un dato tipo string con un booleano y por esa razón el if nunca se cumplirá.


Puedes saber el tipo de dato de un valor, utilizando la función gettype().

Tipo de dato lógico o Booleano .

Saludos.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Buscar cadena de texto dentro de otra. PHP
« Respuesta #4 en: 26 Febrero 2011, 02:06 am »

Código
  1. if(!stristr($string, 'Hello')){
  2.    echo 'Falso';
  3. } else {
  4.    echo 'Cierto';
  5. }

por que no usas return true/false? de hecho ya retorna un false por si acaso xD
En línea

Ojo por ojo, y el mundo acabará ciego.
OssoH


Desconectado Desconectado

Mensajes: 844


Ver Perfil
Re: Buscar cadena de texto dentro de otra. PHP
« Respuesta #5 en: 27 Febrero 2011, 21:16 pm »

Muchas gracias por todos vuestros consejos!!
Me han sido de grandiisima utilidad.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines