• 技术文章 >后端开发 >PHP问题

    php字符串怎么进行大小写不敏感比较

    青灯夜游青灯夜游2021-07-19 11:09:52原创109

    方法:1、用“strcasecmp(string1,string2)”语句;2、用“strncasecmp(string1,string2,length)”语句;3、用“strnatcasecmp(string1,string2)”语句。

    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

    方法1:使用strcasecmp()函数

    strcasecmp() 函数在比较字符串时不会区分大小写,其语法格式如下:

    strcasecmp(string $str1, string $str2)

    其中,$str1 和 $str2 分别是要比较的两个字符串。

    根据比较结果,如果 $str1 小于 $str2,则返回值 < 0;如果 $str1 大于 $str2,则返回值 > 0;如果 $str1 于 $str2 相等,则返回 0

    网站的网址都是不区分大小写的,因此我们可以使用 strcasecmp() 函数来比较两个网址是否相同,示例代码如下:

    <?php
    header("Content-type:text/html;charset=utf-8");
    $url1 = 'https://www.php.cn/';
    $url2 = 'HTTPS://www.php.cn/';
    if(strcasecmp($url1, $url2) == 0){
        echo '两个网址相同';
    } else {
        echo '两个网址不同';
    }
    ?>

    输出:

    两个网址相同

    方法2:使用strncasecmp()函数

    strncasecmp() 函数比较两个字符串(不区分大小写)。

    语法

    strncasecmp(string1,string2,length)
    参数描述
    string1必需。规定要比较的第一个字符串。
    string2必需。规定要比较的第二个字符串。
    length必需。规定每个字符串用于比较的字符数。

    返回值: 该函数返回:

    示例:

    <?php
    echo strncasecmp("Hello","Hello",6);
    echo "<br>";
    echo strncasecmp("Hello","hELLo",6);
    ?>

    输出:

    0
    0

    方法3:使用strnatcasecmp()函数

    strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串(不区分大小写)。

    在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。

    语法

    strnatcasecmp(string1,string2)
    参数描述
    string1必需。规定要比较的第一个字符串。
    string2必需。规定要比较的第二个字符串。

    返回值:

    示例:

    <?php
    echo strnatcasecmp("2Hello world!","10Hello WORLD!");
    echo "<br>";
    echo strnatcasecmp("10Hello world!","2Hello WORLD!");
    ?>

    输出:

    -1
    1

    说明:自然算法(strnatcmp)和常规计算机字符串排序算法(strcmp)的不同

    <?php
    $arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");
    echo "Standard string comparison"."<br>";
    usort($arr1,"strcmp");
    
    print_r($arr1);
    echo "<br>";
    echo "<br>";
    
    echo "Natural order string comparison"."<br>";
    usort($arr2,"strnatcmp");
    
    print_r($arr2);
    ?>

    输出:

    Standard string comparison
    Array ( [0] => pic01 [1] => pic1 [2] => pic10 [3] => pic100 [4] => pic2 [5] => pic20 [6] => pic200 [7] => pic30 )
    
    Natural order string comparison
    Array ( [0] => pic01 [1] => pic1 [2] => pic2 [3] => pic10 [4] => pic20 [5] => pic30 [6] => pic100 [7] => pic200 )

    推荐学习:《PHP视频教程

    以上就是php字符串怎么进行大小写不敏感比较的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:php5.3 验证码不显示怎么办 下一篇:PHP如何使用串口通信
    VIP会员

    相关文章推荐

    • php 上传文件写入失败怎么办• iis php怎么修改端口• php sqlite怎么关闭• php无法链接mssql怎么办• php jpg怎么转换成png图片• nginx 找不到php进程怎么办

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网