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 '密码匹配!'; } ?>
2、使用strcmp()函数比较字符串是否相等
strcmp() : 比较两个字符串(大小写敏感)。
strcmp(字符串1,字符串2)
返回值分为3种情况:
0
- 如果两个字符串相等
76d613317fedf450ced0d1b85657e6c70
- 如果 字符串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 '密码匹配!'; } ?>
注意,对于 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 = 'http://www.php.cn/'; $url2 = 'HTTP://www.php.cn/'; if(strcasecmp($url1, $url2) == 0){ echo '两个网址相同'; } else { echo '两个网址不同'; } ?>
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 '两个网址不同'; } ?>
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 '密码匹配!'; } ?>
推荐学习:《PHP视频教程》
以上是php怎么判断两字符串是否相等的详细内容。更多信息请关注PHP中文网其他相关文章!