您现在的位置是:群英 > 开发技术 > PHP语言
PHP怎样判断两字符串是否相等?教你四个技巧
Admin发表于 2022-01-07 18:30:542560 次浏览

    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中文网

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2022-07-01 17:29:25 
摘要:go语言提供了内置的go mod工具,通过go mod我们可以愉快的进行go依赖包的管理和升级。下面就来由go语言教程栏目介绍一下go mod。
2022-07-09 17:43:37 
摘要:在Go语言中,使用多值返回来返回错误。不要用异常代替错误,更不要用来控制流程。在极个别的情况下,即遇到真正的异常的情况下,才使用Go中引入的Exception处理:defer、panic、recover。
2022-07-23 17:42:44 
摘要:本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部