PHP中strpos函数的正确使用方式(查找字符串在另一字符串中第一次出现的位置)

技术文档 - php相关

2019-11-24

 暂无演示  

strpos()     函数

说明:函数对大小写敏感。

查找字符串在另一字符串中第一次出现的位置如果没有找到字符串则返回 FALSE。

语法:

strpos(string,find,start)
参数描述
string必需。规定要搜索的字符串。
find必需。规定要查找的字符串。

start

可选。规定在何处开始搜索。


实例讲解:

【错误写法:】 

    很多时候拿这个函数用来判断字符串中是否存在某个字符,其中有很多人会这样写:

<?php 

    /*******************【错误写法】*********************/
    // 判断‘51源码网’中是否存在‘码网’这两个字
    if (strpos('51源码网', '码网')) {
        echo '存在';
    }else{
        // 如果不存在执行此处代码
        echo '不存在';
    }

    // 判断‘51源码网’中是否存在‘网’这个字
    if (strpos('51源码网', '网')) {
        echo '存在';
    }else{
        echo '不存在';
    }

?>

 

 第1个判断代码输出的是'存在'。没什么问题;但是再看下面这段代码;

 第2个判断代码输出的是'不存在'。原因是因为 '小' 在 '小川博客' 中的第0个位置,而0在if中表示了false。



如果用strpos来判断字符串中是否存在某个字符时要用:===false

【正确写法:】 

<?php 

    /*******************【正确写法】*********************/
    // 判断‘51源码网’中是否存在‘码网’这两个字
    if (strpos('51源码网', '码网')===false) {
        echo '不存在';
    }else{
        echo '存在';
    }

    // 判断‘51源码网’中是否存在‘5’这个字
    if (strpos('51源码网', '5')===false) {
        echo '不存在';
    }else{
        echo '存在';
    }  

?>