当前位置:首页> PHP教程> PHP接触
关键字
文章内容
PHP中strpos()函数的用法与比较
 
 
修改时间:[2012/08/17 20:00]    阅读次数:[1573]    发表者:[沩筱]
 

    PHP说明文档:
    语法: int strpos(string haystack, string needle, int [offset]);
    返回值: 整数
    函数种类: 资料处理
    内容说明 
    本函数用来寻找字符串 haystack 中的字符 needle 最先出现的位置。值得注意的是 needle 只能是一个字符,中文字等就不适合了。若找不到指定的字符,则返回 false 值。参数 offset 可省略,用来Y表示从 offset 开始找。
    
    
    
    strpos() 函数返回字符串在另一个字符串中第一次出现的位置。如果没有找到该字符串,则返回 false。

    语法:
    strpos(string,find,start)

    参数:
    string:       必需。规定被搜索的字符串。
    find:         必需。规定被搜索的字符串。
    start:       可选。规定开始搜索的位置。

    举例:
    <?php
    echo strpos("Hello world!","wo");
    ?>

    输出:6

     

    php判断字符以及字符串的包含,可以使用PHP的内置函数strstr,strpos,stristr直接进行判断.也可以通过explode函数的作用写一个判断函数,下面介绍使用方法:
    
    1. strstr: 返回一个从被判断字符开始到结束的字符串,如果没有返回值,则不包含

    <?php
    /*如手册上的举例*/
    $email = '[email protected]';
    $domain = strstr($email, '@');
    echo$domain; // prints @example.com
    
    ?>

    2. stristr: 它和strstr的使用方法完全一样.唯一的区别是stristr不区分大小写.

    3. strpos: 返回boolean值.FALSE和TRUE不用多说.用 “===”进行判断.strpos在执行速度上都比以上两个函数快,另外strpos有一个参数指定判断的位置,但是默认为空.意思是判断整个字符串.缺点是对中文的支持不好.使用方法

    $str= 'abc';
    $needle= 'a';
    $pos = strpos($str, $needle);

    4. 用explode进行判断

    functioncheckstr($str){
    $needle = "a";//判断是否包含a这个字符
    $tmparray = explode($needle,$str);
    if(count($tmparray)>1){
    returntrue;
    }else{
    returnfalse;
    }
    }