基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解

 更新时间:2013年05月15日 17:54:02   作者:  
本篇文章是对PHP字符串的比较函数strcmp()与strcasecmp()的使用进行了详细的分析介绍,需要的朋友参考下

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

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

复制代码 代码如下:

$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:
echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0)
echo strnatcasecmp("10.gif", "5.gif"); // 返回 1 (>0)

 

相关文章

  • laravel通过创建自定义artisan make命令来新建类文件详解

    laravel通过创建自定义artisan make命令来新建类文件详解

    Laravel通过Artisan提供了强大的控制台命令来处理非浏览器业务逻辑。下面这篇文章主要给大家介绍了关于laravel如何通过创建自定义artisan make命令来新建类文件的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • 详解PHP实现支付宝小程序用户授权的工具类

    详解PHP实现支付宝小程序用户授权的工具类

    这篇文章主要介绍了详解PHP实现支付宝小程序用户授权的工具类,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • php字符编码转换之gb2312转为utf8

    php字符编码转换之gb2312转为utf8

    PHP输出页面时经常有乱码,怎么办呢?今天我就提供一个方法,可以自动判断php字符编码,把gbk或gb2312编码的字符串转为utf8 。
    2013-10-10
  • ThinkPHP使用getlist方法实现数据搜索功能示例

    ThinkPHP使用getlist方法实现数据搜索功能示例

    这篇文章主要介绍了ThinkPHP使用getlist方法实现数据搜索功能,结合实例形式较为详细的分析了thinkPHP基于getlist实现根据给定条件进行数据的读取、显示等相关操作技巧,需要的朋友可以参考下
    2017-05-05
  • php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)

    php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)

    这篇文章主要介绍了php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • PHP屏蔽关键字实现方法

    PHP屏蔽关键字实现方法

    本篇文章主要介绍了PHP屏蔽关键字实现方法,具有一定的参考价值,有需要的可以了解一下。
    2016-11-11
  • php根据日期判断星座的函数分享

    php根据日期判断星座的函数分享

    下面提供一个用PHP来判断指定一日期属于哪个星座的函数,需要的朋友可以参考下
    2014-02-02
  • php获取''/''传参的值简单方法

    php获取''/''传参的值简单方法

    下面小编就为大家带来一篇php获取'/'传参的值简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • thinkPHP自动验证机制详解

    thinkPHP自动验证机制详解

    这篇文章主要介绍了thinkPHP自动验证机制,结合实例形式分析了thinkPHP自动验证机制的格式、原理与具体操作技巧,需要的朋友可以参考下
    2016-12-12
  • 使用淘宝IP库获取用户ip地理位置

    使用淘宝IP库获取用户ip地理位置

    以前用过GOOGLE地图和百度地图获取过用户地理位置,现在又多了一个方法,那就是使用淘宝IP库获取用户ip地理位置,一起来看代码吧。
    2013-10-10

最新评论