Foros del Web » Programando para Internet » PHP »

strpos duda

Estas en el tema de strpos duda en el foro de PHP en Foros del Web. Hola camaradas. Tengo una pequeña duda acerca de la instruccion strpos. Aqui va el script: <?php $a = "Hola esto es una prueba de strpos."; ...
  #1 (permalink)  
Antiguo 16/04/2006, 21:41
 
Fecha de Ingreso: abril-2006
Mensajes: 133
Antigüedad: 18 años
Puntos: 2
strpos duda

Hola camaradas.
Tengo una pequeña duda acerca de la instruccion strpos. Aqui va el script:

<?php
$a = "Hola esto es una prueba de strpos.";
echo "$a";
?>
<br/>
<?php
if (strpos($a,'strpos') !== FALSE) {
echo 'Prueba strpos';
}
else
echo'OK'
?>

La duda que tengo es en el if (strpos($a,'strpos') !== FALSE), que es lo que !== FALSE quiere decir?. Yo interpreto el scriptasi: si en la variable $a dice strpos, entonces me tira Prueba strpos. Entonces a que viene ese FALSE?
Gracias por su tiempo.
  #2 (permalink)  
Antiguo 16/04/2006, 22:18
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
que es lo que !== FALSE quiere decir?
... es una comparación con un Booleano... Lo que pasa es que la función no es para ver si "hay un texto en una cadena" sino que es para encontrar la posición de un texto en una cadena, si esta se encuentra al inicio devolverá 0 que también es interpretado como FALSE --en el if-- pero no es un booleano . Simple!

Gráficamente:
Código PHP:
<?php
$a 
"Hola esto es una prueba de strpos.";

if (
strpos($a,'strpos')) { // Mismo comportamieto ¿no?
      
echo 'Caso1'
}

if (
strpos($a,'Hola')) { // ¿Qué pasó? ;-)
      
echo '<br>Caso2'
}


if (
strpos($a,'Hola')!==FALSE) { // AhhhhH!!!! xD
      
echo '<br>Caso3'
}
?>
Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 16/04/2006, 22:32
 
Fecha de Ingreso: abril-2006
Mensajes: 133
Antigüedad: 18 años
Puntos: 2
Gracias

Muchas gracias por tu respuesta!. Ahora la unica duda que me queda es con respecto al operador false. Si ponemos !== FALSE en php, es como si en lenguaje natural estuvieramos poniendo =falso? O me equivoco?
  #4 (permalink)  
Antiguo 17/04/2006, 05:48
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
es como si en lenguaje natural estuvieramos poniendo =falso?
en todo caso, quedaría mejor algo como "¿es verdaderamente falso?"

FALSE no es un operador, es uno de los dos valores (true/false) que puede tener un booleano (un tipo de dato).... Existen otras "combinaciones" que pueden ser interpretadas como un FALSE más NO LO SON:
- una cadena vacia
- 0 como entero
- 0.0 como flotante
- (creo ) 0 como cadena
- un NULL...
- puf!, no se me ocurren más...

El operador es el triple signo de igual (=== ó !==), este no solo compara que el valor sea el mismo, sino que también el tipo coincida:
Código PHP:
<?php
if(0=='') { // cadena vacia con entero 0
   
echo "Test1"// psss...
}

if(
0==='') { // cadena vacia con entero 0
   
echo "Test2"// juntos pero no revueltos ;-)
}
?>
... en las FAQ hay tutoriales de PHP, esto es de entrada... Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 17/04/2006, 05:51
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Documentación oficial: www.php.net/language.types.boolean
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 17/04/2006, 09:30
 
Fecha de Ingreso: abril-2006
Mensajes: 133
Antigüedad: 18 años
Puntos: 2
Gracias por tu ayuda

Muchas gracias Jam!. Ya la documentacion del PHP la estoy leyendo desde que emepeze con PHP, pero siempre tengo algunas dudas con la sintaxis, como la del !==FALSE que te estaba contando.
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 12:57.