php如何进行字符串比较,如何在PHP中使用strcmp()与strcasecmp()对字符串进行比较

如何在PHP中使用strcmp()与strcasecmp()对字符串进行比较

发布时间:2020-12-30 14:55:27

来源:亿速云

阅读:80

作者:Leah

本篇文章给大家分享的是有关如何在PHP中使用strcmp()与strcasecmp()对字符串进行比较,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

使用“===”来判断,至于它和“==”的区别,简单来说就是前者强调“identical(相同的,完全相同)”类型也要求一样;后者要求“equal(相等)”,值相同就可以了。或者使用strcmp来判断,但是这个能够告诉你两个字符串是否相等,但是无法告诉你在哪里不同。

一般能用 !=, == 比较两个对象是否相等,之所以说是两个对象,是因为他们不一定全部为字符串,也能为整型等等。比如

复制代码 代码如下:

$a = "joe";

$b = "jerry";

if ($a != $b)

{

echo "不相等";

}

else

{

echo "相等";

}

如果用  !== , === 比较的话,两个对象的类型要严格相等才能返回true;否则用==,!=则会将字符串自动转换成相应的类型,以便进行比较.

复制代码 代码如下:

22 == "22"; // 返回 true

22 === "22"; // 返回falsePHP 用于字符串比较的函数:strcmp(),strcasecmp(),strncasecmp(), strncmp(),他们都是 如果前者比后者大,则返回大于0 的整数;如果前者比后者小,则返回小于0 的整数;如果两者相等,则返回0.

1)strcmp是用于 区分大小写 (即大小写敏感)的字符串比较:

2)echo strcmp("abcdd", "abcde"); // 返回 1 (>0), 比较的是 "b"和"b"

3)strcasecmp用于不区分大小写的字符串比较:

4)echo strcasecmp("abcdd", "abcde"); // 返回 -1 (<0), 比较的是"d"和"e"

strncmp用于比较字符串的一部分,从字符串的开头开始比较,第三个参数,为要比较的长度:

echo strncmp("abcdd", "abcde", 3); // 返回 1 (>0), 比较了 abc 和 abc

strncasecmp用于不区分大小写的比较字符串的一部分,从字符串的开头开始比较,第三个参数,为要比较的长度:

echo strncasecmp("abcdd", "abcde", 3); // 返回 0, 比较了 abc 和 abc, 由于不区分大小写,所以两者是相同的。

更有一种情况是单单比较字符串大小,达不到我们预定的需求,比如照常理 10.gif 会比 5.gif 大,但如果应用上面几个函数,就会返回 -1,即表示 10.gif比5.gif,针对这种情况,php提供了两个自然对比的函数strnatcmp,strnatcasecmp:

echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0)

echo strnatcasecmp("10.gif", "5.gif"); // 返回 1 (>0)

以上就是如何在PHP中使用strcmp()与strcasecmp()对字符串进行比较,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值