文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

PHP比较两个字符串的方法

2023-06-20 19:27

关注

这篇文章主要讲解了“PHP比较两个字符串的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP比较两个字符串的方法”吧!

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

1、使用比较运算符

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

<?phpheader("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>";}?>

输出结果:

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

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

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

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

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

<?phpheader("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 ?? $cNULL合并操作符从左往右第一个存在且不为 NULL 的操作数。如果都没有定义且不为 NULL,则返回 NULL。PHP7开始提供。

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

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

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

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

<?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>";?>

输出:

PHP比较两个字符串的方法

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

<?php$str1="编程网";$str2="编程网";echo strcmp($str1,$str2)."<br>";?>

输出结果:

-1

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

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

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

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

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

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

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

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

输出结果:

两个网址相同

感谢各位的阅读,以上就是“PHP比较两个字符串的方法”的内容了,经过本文的学习后,相信大家对PHP比较两个字符串的方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯