首页 >后端开发 >PHP问题 >php怎么判断两字符串是否相等

php怎么判断两字符串是否相等

青灯夜游
青灯夜游原创
2022-08-17 19:40:367416浏览

5种方法:1、用“字符串1==字符串2”,如果返回true则相等。2、用“strcmp(字符串1,字符串2)”,如果返回值为0则相等。3、用“strcasecmp(字符串1,字符串2)”,如果返回值为0则相等。4、用“strncasecmp(字符串1,字符串2,字符个数)”,如果返回值为0则相等。5、用“strncmp(字符串1,字符串2,字符个数)”,如果返回值为0则相等。

php怎么判断两字符串是否相等

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

判断两字符串是否相等?PHP中内置了多个函数可以实现:

  • strcmp()

  • strcasecmp()

  • strncasecmp()

  •  strncmp()

也可以使用相等运算符“==”来进行比较判断。下面我们来看看:

1、使用运算符“==”比较字符串是否相等

“==”表示“相等”,是一个比较运算符,用于比较等号两边表达式或变量是否相等。

<?php
header("Content-type:text/html;charset=utf-8");
$pwd1 = &#39;password&#39;;
$pwd2 = &#39;Password&#39;;
if($pwd1==$pwd2){
    echo &#39;密码不匹配!&#39;;
} else {
    echo &#39;密码匹配!&#39;;
}
?>

1.png

2、使用strcmp()函数比较字符串是否相等

strcmp() : 比较两个字符串(大小写敏感)。    

strcmp(字符串1,字符串2)

返回值分为3种情况:

  • 0 - 如果两个字符串相等

  • 76d613317fedf450ced0d1b85657e6c70 - 如果 字符串1 大于 字符串2

只需要检查strcmp()函数的返回值是否等于0即可知道两字符串是否相等。

<?php
header("Content-type:text/html;charset=utf-8");
$pwd1 = &#39;password&#39;;
$pwd2 = &#39;Password&#39;;
if(strcmp($pwd1, $pwd2) != 0){
    echo &#39;密码不匹配!&#39;;
} else {
    echo &#39;密码匹配!&#39;;
}
?>

2.png

注意,对于 strcmp() 函数,待比较的两个字符串必须完全匹配才能被认为是相等的。例如 示例代码中的 $pwd1 和 $pwd2 就是不同的。如果要以不区分大小写的方式比较两个字符串,可以使用 strcasecmp() 函数。

3、使用strcasecmp()函数比较字符串是否相等

PHP 中的 strcasecmp() 函数与 strcmp() 函数的功能类似,都可以比较两个字符串,不同的是 strcasecmp() 函数在比较字符串时不会区分大小写,其语法格式如下:

strcasecmp($str1,$str2)

根据比较结果,

  • 如果 $str1 小于 $str2,则返回值 ab1992ca7057de2c4570100d88cd727f 0;

  • 如果 $str1 于 $str2 相等,则返回 0。

只需要检查strcasecmp()函数的返回值是否等于0即可知道两字符串是否相等。

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

3.png

4、使用strncasecmp()函数比较字符串是否相等

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

该函数与 strcasecmp() 函数类似,不同的是,strcasecmp() 没有 length 参数(不能指定每个字符串用于比较的字符数)。

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

返回值和strcasecmp() 函数一样

<?php
header("Content-type:text/html;charset=utf-8");
$url1 = &#39;http://www.php.cn/&#39;;
$url2 = &#39;HTTP://www.php.cn/&#39;;
if(strncasecmp($url1, $url2,18) == 0){
    echo &#39;两个网址相同&#39;;
} else {
    echo &#39;两个网址不同&#39;;
}
?>

4.png

5、使用strncmp()函数比较字符串是否相等

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

该函数与 strcmp() 函数类似,不同的是,strcmp() 没有 length 参数(不能指定每个字符串用于比较的字符数)。

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

返回值和strcmp()  函数一样

<?php
header("Content-type:text/html;charset=utf-8");
$pwd1 = &#39;password&#39;;
$pwd2 = &#39;Password&#39;;
if(strncmp($pwd1, $pwd2,8) != 0){
    echo &#39;密码不匹配!&#39;;
} else {
    echo &#39;密码匹配!&#39;;
}
?>

5.png

推荐学习:《PHP视频教程

以上是php怎么判断两字符串是否相等的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn