概述
上一篇文章中我们了解了拼接两个字符串的方法,有需要的请看《教你使用PHP操作符将两个字符串拼接在一起》。今天我们来了解下比较两个字符串的方法,一起来学习吧!
字符串比较是字符串处理中常见的一种操作,PHP中比较两个字符串有很多方法,本篇文章通过代码实例来给大家介绍三种常见的比较方法:
使用比较运算符:
==/
===
、>
、<
等内置函数strcmp()
内置函数strcasecmp()
1、使用比较运算符
我们可以用==
(双等号)或者 ===
(三等号)来比较字符串是否相等。
<?php
header("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>";
}
?>
登录后复制
输出结果:
两个字符串相等
两个字符串相等
登录后复制
我们可以用<
(小于)或者 >
(大于)来比较字符串的大小。
<?php
header("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开始提供。 |
除了可以使用比较运算符来比较字符串外,还可以使用函数来比较字符串。PHP 中提供了两个函数来实现字符串比较功能,分别是 strcmp() 和 strcasecmp() 函数,我们来看看。
2、使用内置函数strcmp()--以区分大小写的方式比较两个字符串
strcmp(string1,string2)
比较两个字符串时,如果:
如果两个字符串相等,则会返回
0
;如果string1 小于 string2,则会返回
< 0
的值;如果string1 大于 string2,则会返回
> 0
的值;
我们先来看下面一个例子:
<?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()函数在比较字符串时,是区分大小写的。
<?php
$str1="靠谱客";
$str2="靠谱客";
echo strcmp($str1,$str2)."<br>";
?>
登录后复制
输出结果:
-1
登录后复制
借助这个特性,我们可以将其运用在网站注册账号时的确认用户密码功能中(密码通常是区分大小写的),比较两次输入的密码是否一致。
<?php
header("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()函数不区分大小写。
下面我们来看看下面一个例子:
<?php
header("Content-type:text/html;charset=utf-8");
$url1="https://www.uoften.com/";
$url2="HTTPS://WWW.PHP.CN/";
if(strcasecmp($url1, $url2) == 0){
echo '两个网址相同';
} else {
echo '两个网址不同';
}
?>
登录后复制
输出结果:
两个网址相同
登录后复制
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
最后给大家推荐阅读一个经典课程《PHP字符串处理(玉女心经版)》,免费的~快来学习啊!
以上就是PHP字符串学习之比较两个字符串的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是靓丽百褶裙为你收集整理的PHP字符串学习之比较两个字符串的全部内容,希望文章能够帮你解决PHP字符串学习之比较两个字符串所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复