本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
比较两个字符串是否相等
一般能用 !=、== 比较两个对象是否相等,只所以说是两个对象,是因为他们不一定全部为字符串,也能为整型等等。比如
复制代码1
2
3
4
5
6
7
8
9
10
$a = "joe";
$b = "jerry";
if ($a != $b)
{
echo "不相等";
}
else
{
echo "相等";
}
登录后复制
如果用 !==、===(能看到多了一个等号)比较的话,两个对象的类型要严格相等才能返回true;否则用==、!=则会将字符串自动转换成相应的类型,以便进行比较.
复制代码1
2
22 == "22"; // 返回 true
22 === "22"; // 返回false
登录后复制
正因为这样,所以我们的程式时常会发生一些想不到的“意外”:
复制代码1
2
0 == "我爱你"; // 返回true
1 == "1 我爱你";// 返回true
登录后复制
php教程里 更有这样一组用于字符串比较的函数:strcmp、strcasecmp、strncasecmp()、 strncmp(),返回值说明:
strcmp是用于区分大小写(即大小写敏感)的字符串比较:
复制代码1
echo strcmp("abcdd", "abcde"); // 返回 1 (>0), 比较的是 "b"和"b"
登录后复制
strcasecmp用于不区分大小写的字符串比较:
复制代码1
echo strcasecmp("abcdd", "abcde"); // 返回 -1 (<0), 比较的是"d"和"e"
登录后复制
strncmp用于比较字符串的一部分,从字符串的开头开始比较,第三个参数,为要比较的长度:
复制代码1
echo strncmp("abcdd", "abcde", 3); // 返回 1 (>0), 比较了 abc 和 abc
登录后复制
strncasecmp用于不区分大小写的比较字符串的一部分,从字符串的开头开始比较,第三个参数,为要比较的长度:
复制代码1
echo strncasecmp("abcdd", "abcde", 3); // 返回 0, 比较了 abc 和 abc, 由于不区分大小写,所以两者是相同的。
登录后复制
更有一种情况是单单比较字符串大小,达不到我们预定的需求,比如照常理 10.gif 会比 5.gif 大,但如果应用上面几个函数,就会返回 -1,即表示 10.gif比5.gif,针对这种情况,php提供了两个自然对比的函数strnatcmp,strnatcasecmp:
复制代码1
2
echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0)
echo strnatcasecmp("10.gif", "5.gif"); // 返回 1 (>0)
登录后复制
推荐学习:《PHP视频教程》
以上就是php比对字符串是否相等的方法有哪些的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是受伤发夹最近收集整理的关于php比对字符串是否相等的方法有哪些的全部内容,更多相关php比对字符串是否相等内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复