php小白容易出现的strpos逻辑错误-创新互联

  1. 先来看strpos的用法:

    创新互联-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、西部信息机房、等保安全、私有云建设等企业级互联网基础服务,联系电话:18980820575

    (PHP 4, PHP 5, PHP 7)

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

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

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

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

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

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

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

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:php小白容易出现的strpos逻辑错误-创新互联
网站路径:http://ybzwz.com/article/gijhd.html