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则相等。

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

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

  • strcmp()

  • strcasecmp()

  • strncasecmp()

  • strncmp()

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

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

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

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

1.png

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

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

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

返回值分为3种情况:

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

  • <0 - 如果 字符串1 小于 字符串2

  • >0 - 如果 字符串1 大于 字符串2

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

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

2.png

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

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

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

strcasecmp($str1,$str2)

根据比较结果,

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

  • 如果 $str1 大于 $str2,则返回值 > 0;

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

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

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

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 = 'http://www.php.cn/';
$url2 = 'HTTP://www.php.cn/';
if(strncasecmp($url1, $url2,18) == 0){
    echo '两个网址相同';
} else {
    echo '两个网址不同';
}
?>

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 = 'password';
$pwd2 = 'Password';
if(strncmp($pwd1, $pwd2,8) != 0){
    echo '密码不匹配!';
} else {
    echo '密码匹配!';
}
?>

5.png


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