栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

PHP字符串学习之比较两个字符串

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力
上一篇文章中我们了解了拼接两个字符串的方法,有需要的请看《教你使用PHP操作符将两个字符串拼接在一起》。今天我们来了解下比较两个字符串的方法,一起来学习吧!

字符串比较是字符串处理中常见的一种操作,PHP中比较两个字符串有很多方法,本篇文章通过代码实例来给大家介绍三种常见的比较方法:

  • 使用比较运算符:==/===、>、<等

  • 内置函数strcmp()

  • 内置函数strcasecmp()

1、使用比较运算符

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

";
}else{
	echo "两个字符串不相等
"; } if($str1===$str2){ echo "两个字符串相等
"; }else{ echo "两个字符串不相等
"; } ?>

输出结果:

两个字符串相等
两个字符串相等

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

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

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

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

$str2){
	echo "'$str1' 比 '$str2' 大
"; }else{ echo "'$str1' 比 '$str2' 小
"; } $str1="15"; $str2="13"; if($str1<$str2){ echo "'$str1' 比 '$str2' 小
"; }else{ echo "'$str1' 比 '$str2' 大
"; } ?>

输出结果:

'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开始提供。

除了可以使用比较运算符来比较字符串外,还可以使用函数来比较字符串。PHP 中提供了两个函数来实现字符串比较功能,分别是 strcmp() 和 strcasecmp() 函数,我们来看看。

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

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

  • 如果两个字符串相等,则会返回0;

  • 如果string1 小于 string2,则会返回< 0 的值;

  • 如果string1 大于 string2,则会返回> 0 的值;

我们先来看下面一个例子:

";

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

输出:


1.png

strcmp()函数在比较字符串时,是区分大小写的。

";
?>

输出结果:

-1

借助这个特性,我们可以将其运用在网站注册账号时的确认用户密码功能中(密码通常是区分大小写的),比较两次输入的密码是否一致。

只有两个字符串完全匹配,strcmp()函数才会认为相等的;而在上面示例中,$pwd1 和 $pwd2的大小写不同,因此两个字符串不相等。

但有时,我们只需要比较字符串的值,不想区分大小写,例如比较网站的网址,那要怎么处理?简单,可以使用strcasecmp()函数。

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

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

下面我们来看看下面一个例子:

输出结果:

两个网址相同

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

最后给大家推荐阅读一个经典课程《PHP字符串处理(玉女心经版)》,免费的~快来学习啊!

以上就是PHP字符串学习之比较两个字符串的详细内容,更多请关注考高分网其它相关文章!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/262307.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号