php如何对比字符串是否不同
这篇文章主要介绍“php如何对比字符串是否不同”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php如何对比字符串是否不同”文章能帮助大家解决问题。
三种对比方法:1、使用比较运算符(==、===、>、<等)进行对比,例“字符串1==字符串2”,可比较两字符串是否相等;2、使用strcmp()以区分大小写的方式比较两个字符串,语法“strcmp(字符串1,字符串2)”;3、使用strcasecmp()以不区分大小写的方式比较两个字符串,语法“strcasecmp(字符串1,字符串2)”。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
字符串比较(对比字符串)是字符串处理中常见的一种操作,下面介绍三种常见的比较方法:
方法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 ?? $c | NULL合并操作符 | 从左往右第一个存在且不为 NULL 的操作数。如果都没有定义且不为 NULL,则返回 NULL。PHP7开始提供。 |
方法2、使用内置函数strcmp()--以区分大小写的方式比较两个字符串
<?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>";?>
strcmp()比较两个字符串时,如果:
如果两个字符串相等,则会返回0;
如果string1 小于 string2,则会返回< 0 的值;
如果string1 大于 string2,则会返回> 0 的值;
方法3、使用内置函数strcasecmp()--以不区分大小写的方式比较两个字符串
strcasecmp()函数和strcmp()函数类似,都可比较字符串,返回值也相同,区别只是strcasecmp()函数不区分大小写。
<?phpheader("Content-type:text/html;charset=utf-8");$url1="https://www.yisu.com/";$url2="HTTPS://WWW.PHP.CN/";$c=strcasecmp($url1, $url2);echo $c."<br>";if($c== 0){ echo '两个网址相同'; } else { echo '两个网址不同'; }?>
关于“php如何对比字符串是否不同”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341