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

    php怎么对比字符串是否不同

    青灯夜游青灯夜游2022-07-08 20:00:03原创183

    三种对比方法:1、使用比较运算符(==、===、>、<等)进行对比,例“字符串1==字符串2”,可比较两字符串是否相等;2、使用strcmp()以区分大小写的方式比较两个字符串,语法“strcmp(字符串1,字符串2)”;3、使用strcasecmp()以不区分大小写的方式比较两个字符串,语法“strcasecmp(字符串1,字符串2)”。

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

    字符串比较(对比字符串)是字符串处理中常见的一种操作,下面介绍三种常见的比较方法:

    方法1、使用比较运算符

    我们可以用==(双等号)或者 ===(三等号)来比较字符串是否相等。

    <?php
    header("Content-type:text/html;charset=utf-8");
    $str1="Hello world!";
    $str2="Hello world!";
    if($str1==$str2){
    	echo "两个字符串相等<br>";
    }else{
    	echo "两个字符串不相等<br>";
    }
    if($str1===$str2){
    	echo "两个字符串相等<br>";
    }else{
    	echo "两个字符串不相等<br>";
    }
    ?>

    输出结果:

    1.png

    =====的区别:==不比较类型,三等号===,它不转换类型;

    使用等式(==)运算符进行比较时,如果两个值相同(它只比较变量的值,而不是数据类型),则返回true值;如果两个值不相同,则返回false值。

    使用恒等式(===)运算符进行比较时,会查看两个变量(表达式或常量)是否值相等且具有相同的数据类型,即两者都是字符串或两者都是整数等等。如果两个变量包含相同的值和相同的数据类型,则此运算符返回true,否则返回false。

    我们可以用<(小于)或者 >(大于)来比较字符串的大小。

    <?php
    header("Content-type:text/html;charset=utf-8");
    $str1="12";
    $str2="13";
    if($str1>$str2){
    	echo "'$str1' 比 '$str2' 大<br>";
    }else{
    	echo "'$str1' 比 '$str2' 小<br>";
    }
    $str1="15";
    $str2="13";
    if($str1<$str2){
    	echo "'$str1' 比 '$str2' 小<br>";
    }else{
    	echo "'$str1' 比 '$str2' 大<br>";
    }
    ?>

    输出结果:

    '12' 比 '13' 小
    '15' 比 '13' 大

    PHP比较运算符列表:

    比较运算符名称描述
    $a == $b等于如果类型转换后 $a 和 $b 的值相等,则返回 TRUE,否则返回 FALSE
    $a === $b全等如果 $a 和 $b 不仅值相等,而且它们值的类型也相等,则返回 TRUE,否则返回 FALSE
    $a != $b不等于如果类型转换后 $a 的值不等于 $b 的值,则返回TRUE,否则返回 FALSE
    $a <> $b不等于与 != 相同,如果类型转换后 $a 的值不等于 $b 的值,则返回 TRUE,否则返回 FALSE
    $a !== $b不全等如果 $a 的值不等于 $b的值,或者它们值的类型不同,则返回 TRUE,否则返回 FALSE
    $a < $b小与如果 $a 的值小于 $b 的值,则返回 TRUE,否则返回 FALSE
    $a > $b大于如果 $a 的值大于 $b 的值,则返回 TRUE,否则返回 FALSE
    $a <= $b小于等于如果 $a 的值小于或者等于 $b 的值,则返回 TRUE,否则返回 FALSE
    $a >= $b大于等于如果 $a 的值大于或者等于 $b 的值,则返回 TRUE,否则返回 FALSE
    $a <=> $b太空船运算符(组合比较符)当 $a小于、等于、大于 $b时 分别返回一个小于、等于、大于0的整型值。 PHP7开始提供.
    $a ?? $b ?? $c NULL合并操作符从左往右第一个存在且不为 NULL 的操作数。如果都没有定义且不为 NULL,则返回 NULL。PHP7开始提供。

    方法2、使用内置函数strcmp()--以区分大小写的方式比较两个字符串

    <?php
    $str1="12";
    $str2="12";
    echo strcmp($str1,$str2)."<br>";
    
    $str1="12";
    $str2="13";
    echo strcmp($str1,$str2)."<br>";
    
    $str1="15";
    $str2="13";
    echo strcmp($str1,$str2)."<br>";
    ?>

    2.png

    strcmp()比较两个字符串时,如果:

    方法3、使用内置函数strcasecmp()--以不区分大小写的方式比较两个字符串

    strcasecmp()函数和strcmp()函数类似,都可比较字符串,返回值也相同,区别只是strcasecmp()函数不区分大小写。

    <?php
    header("Content-type:text/html;charset=utf-8");
    $url1="//m.sbmmt.com/";
    $url2="HTTPS://WWW.PHP.CN/";
    $c=strcasecmp($url1, $url2);
    echo $c."<br>";
    if($c== 0){
            echo '两个网址相同';
        } else {
            echo '两个网址不同';
        }
    ?>

    3.png

    推荐学习:《PHP视频教程

    以上就是php怎么对比字符串是否不同的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php php字符串
    上一篇:PHP数组可以返回指定元素吗 下一篇:php怎么替换字符串后几位
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• php字符串中怎么去掉反斜杠• thinkphp字符串加密方法是什么• php字符串怎么去掉小数点• php字符串怎么替换第一个字符后面的字符• php字符串怎么利用正则转为数组
    1/1

    PHP中文网