Maison développement back-end tutoriel php php小白容易出现的 strpos 逻辑错误

php小白容易出现的 strpos 逻辑错误

Jun 23, 2016 pm 01:09 PM

  • 先来看strpos的用法:


  •     (PHP 4, PHP 5, PHP 7)

        strpos ― 查找字符串首次出现的位置

        mixed strpos    ( string $haystack   , mixed $needle   [, int $offset = 0  ] )

        返回 needle 存在于 haystack 字符串起始的位置(独立于 offset)。同时注意字符串位置是从0开始,而不是从1开始的。

        如果没找到 needle,将返回 FALSE。(请注意这种情况下的返回值)


    2. 实例说明(产生问题的错误代码)

        

    <?php    $str = 'this is phper !';        if(strpos($str, 't')){        echo 't 存在';    }else{        echo 't 不存在';    }?>
    Copier après la connexion

    新手容易犯的就是对于if的真值判断,由于该函数在没有找到对应字符的情况下,返回值为false,所以就会出现这种判断来处理找到和没找到的情况。由这个例子的结果可以看出,字符‘t’其实是存在的,而且也被找到了,并且返回了该字符的位置值,即0,因为0为假值,程序就会执行else中代码,导致程序运行结果与预期结果不一致,从而产生了所谓的逻辑错误。


    3. 正确代码(解决方法)

    <?php    $str = 'this is phper !';        if(false !== strpos($str, 't')){        echo 't 存在';    }else{        echo 't 不存在';    }?>
    Copier après la connexion


    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

    Article chaud

    Musée de deux points: Guide de localisation de Bungle Wasteland
    4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Combien de temps faut-il pour battre Split Fiction?
    3 Il y a quelques semaines By DDD
    Repo: Comment relancer ses coéquipiers
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Adventure: Comment obtenir des graines géantes
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

    Article chaud

    Musée de deux points: Guide de localisation de Bungle Wasteland
    4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Combien de temps faut-il pour battre Split Fiction?
    3 Il y a quelques semaines By DDD
    Repo: Comment relancer ses coéquipiers
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Adventure: Comment obtenir des graines géantes
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

    Tags d'article chaud

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium) 11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium) Mar 03, 2025 am 10:49 AM

    11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium)

    Travailler avec les données de session Flash dans Laravel Travailler avec les données de session Flash dans Laravel Mar 12, 2025 pm 05:08 PM

    Travailler avec les données de session Flash dans Laravel

    6 compétences supplémentaires que chaque développeur PHP devrait avoir 6 compétences supplémentaires que chaque développeur PHP devrait avoir Feb 28, 2025 am 10:52 AM

    6 compétences supplémentaires que chaque développeur PHP devrait avoir

    Comprendre les tableaux en php Comprendre les tableaux en php Feb 28, 2025 am 10:53 AM

    Comprendre les tableaux en php

    Misque de réponse HTTP simplifié dans les tests Laravel Misque de réponse HTTP simplifié dans les tests Laravel Mar 12, 2025 pm 05:09 PM

    Misque de réponse HTTP simplifié dans les tests Laravel

    Construisez une application React avec un Laravel Back End: Partie 2, React Construisez une application React avec un Laravel Back End: Partie 2, React Mar 04, 2025 am 09:33 AM

    Construisez une application React avec un Laravel Back End: Partie 2, React

    Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST Mar 14, 2025 am 11:42 AM

    Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST

    12 meilleurs scripts de chat PHP sur Codecanyon 12 meilleurs scripts de chat PHP sur Codecanyon Mar 13, 2025 pm 12:08 PM

    12 meilleurs scripts de chat PHP sur Codecanyon

    See all articles