教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 PHP字符串比较函数strcmp()与strcasecmp()的用法介绍

PHP字符串比较函数strcmp()与strcasecmp()的用法介绍

发布时间:2016-03-13   编辑:jiaochengji.com
本文介绍下,php中的二个字符串比较函数strcmp()与strcasecmp()的用法,供大家学习参考。

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

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

复制代码 代码示例:
<?php
$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,看例子:
 

复制代码 代码示例:
<?php
echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0)
echo strnatcasecmp("10.gif", "5.gif"); // 返回 1 (>0)
?>

您可能感兴趣的文章:
php字符串比较函数实例
PHP字符串比较函数strcmp()与strcasecmp()的用法介绍
php字符串查找函数(strrpos与strchr)
php中strcmp函数用法
php中字符串比较函数使用方法
php5 字符串处理函数汇总
php中字符串比较方法
php字符串比较与查找方法详解
php 字符串的声明方法
PHP字符串操作的一些函数

关键词: 字符串比较   
[关闭]
~ ~