十一:PHP字符串的比较

作者: 椰果粒 | 来源:发表于2017-12-11 16:30 被阅读22次

    一:总结

      1. strcmp()比较字符串的大小,区分大小写,对ascall码的比较
      1. strcasecmp()比较字符串大小,不区分大小写,对ascall码的比较
      1. strnatcmp()按照数字的顺序进行排序
      1. strnatcasecmp()不区分大小写的自然排序
      1. strspn()计算字符串中全部字符都存在于指定字符集合中的第一段子串的长度
      1. strlen()函数测试字符串的长度
      1. substr_count(字符串,待检验的字符串)返回一个字符串在另一个字符串中出现的次数。
      1. strstr()用于在一个较长的字符串专供查找匹配的字符串或字符
      1. stristr()是不区分大小写的
      1. strpos()返回字符从大的字符串的第几个位置出现,从0开始
      1. strrpos()返回第一次出现字符的倒数第几个的位置

    二:详解:
    1.strcmp()是对字符ASCALL码的比较,区分大小写

    • 第一个字符的ascll码小于第二个字符返回 -1
    • 第一个字符的ascll码等于第二个字符返回 0
    • 第一个字符的ascll码大于第二个字符返回 1
    echo strcmp('a', 'b');  //返回-1
    echo strcmp('a', 'a');  //返回0
    echo strcmp('a', 'A');  //返回1
    echo strcmp('b', 'a');  //返回1
    echo strcmp('apple', 'baba');   //返回-1
    echo strcmp('b', 44);   //返回1
    

    先比较字符串的第一个符,分不出大小后,再比较第二个,如果全相同,就返回0

    2. strcasecmp()对ASCALL码比较,不区分大小写

    echo strcasecmp('a', 'A');  //不区分大小写,返回0
    echo strcmp('a', 'A');  //区分大小写,返回1
    

    A的ascall码是65,a是97

    3. strnatcmp()按照数字的顺序进行排序,即使比较的两个是字符串

    echo strnatcmp('2', '10');  //按照数字排序,返回-1
    echo strcmp('2', '10');     //这个是按照ascall码排序,返回1
    

    默认情况下是对ASCALL的排序,比如2和10比较时,2大于10

    4. strnatcasecmp()是不区分大小写的,按照数字顺序排序

    echo strnatcasecmp('3aaa','21AAA'); // -1
    

    5. strapn(string,charlist,start,length):返回字符串中包含要查找字符的个数

    • string:被搜索的字符串
    • charlist:要查找的字符
    • start:规定字符串开始的位置
    • length:规定字符串的长度

    计算字符串中全部字符都存在于指定字符集合中的第一段子串的长度
    待检查的字符串:小字符串
    检查字符串列表:大字符串,从这个里边搜索小串是否存在
    待检查字符串开始的位置, 待检查字符串检查的长度, 可选可不选

    echo strspn('abc','abcdef'); // 3
    echo strspn('abc','abndef'); // 2
    echo strspn('abc','jhndef'); // 0
    echo strspn('abc','abcdef',2,3); // 1
    

    6. strlen()函数测试字符串的长度

    echo strlen('hello world'); //11
    

    7. substr_count(字符串,待检验的字符串):返回待检验的字符串在另一个字符串中出现的次数。

    echo substr_count('hello world', 'o');  //o在字符串中出现2次
    echo substr_count('o','hello world');   //hello world在o中出现0次
    

    8. strstr()用于在一个较长的字符串专供查找匹配的字符串或字符,从第一次找到这个字符开始算起,返回的是从待检验的字符往后的子字符串,strchr()是他的别名

    echo strstr('hello world', 'o');    //o world
    echo strchr('hello world', 'o');    //o world
    

    9. stristr()是不区分大小写的

    echo strstr('hellO world', 'o');    //O world
    

    10. strpos()返回字符从大的字符串的第几个位置出现,从0开始

    echo strpos('hello world', 'o');    //从第五个字符开始出现的,返回4
    

    11. strrpos()返回第一次出现字符的倒数第几个的位置

    echo strrpos('hello world', 'o');   //第一次出现o的时候位置的倒序,返回7
    

    相关文章

      网友评论

        本文标题:十一:PHP字符串的比较

        本文链接:https://www.haomeiwen.com/subject/jmgiixtx.html