PHP比较字符串是否相等的方法有:1、使用“字符串1==字符串2”语句;2、使用“字符串1===字符串2”语句;3、使用“strcmp(字符串1,字符串2)”语句;4、使用“strcasecmp(字符串1,字符串2)”语句等等。
本教程操作环境: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教程》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。