首页后端开发PHPPHP怎样判断两字符串是否相等?教你四个技巧

PHP怎样判断两字符串是否相等?教你四个技巧

时间2024-03-25 19:10:03发布访客分类PHP浏览892
导读:PHP怎样判断两字符串是否相等?首先要知道两个字符串是不是相等的,我们能先来比较看看,这使用到的比较方法有!=、==符号、strcmp( 方法、strcasecmp( 方法等等,文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随...

PHP怎样判断两字符串是否相等?首先要知道两个字符串是不是相等的,我们能先来比较看看,这使用到的比较方法有!=、==符号、strcmp()方法、strcasecmp()方法等等,文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

比较两个字符串是否相等

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

$a = "joe";
    
$b = "jerry";

if ($a != $b)
{
    
    echo "不相等";

}

else
{
    
    echo "相等";

}
    

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

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

正因为这样,所以我们的程式时常会发生一些想不到的“意外”:

0 == "我爱你";
     // 返回true
1 == "1 我爱你";
    // 返回true

php教程里 更有这样一组用于字符串比较的函数:strcmp、strcasecmp、strncasecmp()、 strncmp(),返回值说明:

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

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

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

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怎样判断两字符串是否相等的方法介绍,上述示例具有一定的参考价值,有需要的朋友可以了解看看,希望对大家学习PHP语言有帮助,想要了解更多可以继续浏览网络其他相关的文章。

文本转载自PHP中文网

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: PHP怎样判断两字符串是否相等?教你四个技巧
本文地址: https://pptw.com/jishu/652980.html
SpringBoot日志的作用、使用、级别和持久化是什么 前端es6是什么开发的?是模块化开发吗?

游客 回复需填写必要信息