FAQ
Hola.

Anoche estuve (hace un rato, más bien... ;) peleandome con esta función.
Por si alguien anda ahora con algo relacionado con ella o tiene pensado
hacerlo, CUIDADO.

De lo que viene en el manual comentado, ni caso, y de lo que viene en
el no comentado, tampoco.

El problema de esta función es distinguir cuándo te devuelve cero pq.
lo que busca está en la pos. 0 de la cadena y cuándo es un (boolean)
FALSE.

El manual dice exactamente cómo se comporta la función, pero no acierta
mucho a la hora de 'comprobar' este 'detallito'. Sugiere comparar el
valor obtenido con ($retorno-de-strpos == FALSE).

Eso *NO FUNCIONA*. Cuando comparas, PHP te hace las conversiones nece-
sarias entre tipos de datos para poder comparar. En ese caso, FALSE
lo considera un (integer)0, por lo que la comparación no detecta lo
que se le requiere.

Lo que *SI FUNCIONA* es (is_type($retorno-de-strpos)=="boolean"). Cuando
esa expresión resulta TRUE, la búsqueda *ha fallado*. Hacedlo *siempre*
que utiliceis esa función, si no, cuando la búsqueda retorna pos 0
no os enterareis ;).

Saludos.
--
José Esteban
Granada - Spain
#ICQ: 106853547

Search Discussions

  • Àngel Fenoy at May 17, 2001 at 8:29 am

    Dijous 17 Maig 2001 10:10, José Esteban dixit:

    El manual dice exactamente cómo se comporta la función, pero no acierta
    mucho a la hora de 'comprobar' este 'detallito'. Sugiere comparar el
    valor obtenido con ($retorno-de-strpos == FALSE).
    El manual no dice algo como comparar así:

    $retorno-de-strpos == FALSE

    Sino así:

    $retorno-de-strpos === FALSE

    Y lo recalca, con *tres* signos =, que es una comparación distinta a la que
    se hace con dos signos =

    echo ('0' == 0); // resultado true
    echo ('0' === 0); // resultado false

    http://php.net/manual/en/language.operators.php

    Saludos
    Àngel
  • José Esteban at May 17, 2001 at 8:45 am
    Hola.

    El jue, 05/17/01 may 01, a las 10:36, Àngel Fenoy decía:
    Dijous 17 Maig 2001 10:10, José Esteban dixit:
    El manual dice exactamente cómo se comporta la función, pero no acierta
    mucho a la hora de 'comprobar' este 'detallito'. Sugiere comparar el
    valor obtenido con ($retorno-de-strpos == FALSE).
    El manual no dice algo como comparar así:

    $retorno-de-strpos == FALSE

    Sino así:

    $retorno-de-strpos === FALSE
    Lo siento (y no te imaginas cómo). En cualquier caso, a mí al menos ya me
    ha servido para enterarme...

    La verdad es que ese operador lo ví el otro día y busqué a ver qué era,
    pero no lo he llegado a usar y quizá por eso no lo 'veo' (y menos a las
    horas que eran ;).

    Gracias. Y saludos.
    --
    José Esteban
    Granada - Spain
    #ICQ: 106853547

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedMay 17, '01 at 7:59a
activeMay 17, '01 at 8:45a
posts3
users2
websitephp.net

2 users in discussion

José Esteban: 2 posts Àngel Fenoy: 1 post

People

Translate

site design / logo © 2022 Grokbase