首页 >后端开发 >php教程 >php比较两个字符串在前 n 个字符(不区分大小写)的函数

php比较两个字符串在前 n 个字符(不区分大小写)的函数

黄舟
黄舟原创
2017-11-04 13:30:553331浏览

实例

比较两个字符串(不区分大小写):

<?php
echo strncasecmp("Hello world!","hello earth!",6);
?>

定义和用法

strncasecmp() 函数比较两个字符串(不区分大小写)。

注释:strncasecmp() 是二进制安全的,且不区分大小写。

提示:该函数与 strcasecmp() 函数类似,不同的是,strcasecmp() 没有 length 参数。

语法

strncasecmp(string1,string2,length)
参数 描述
string1 必需。规定要比较的第一个字符串。
string2 必需。规定要比较的第二个字符串。
length 必需。规定每个字符串用于比较的字符数。

技术细节

返回值: 该函数返回:
  • 0 - 如果两个字符串相等

  • 12b156e9b6e717e9d3836955d19ec6540 - 如果 string1 大于 string2

PHP 版本: 4.0.2+

更多实例

实例 1

比较两个字符串(不区分大小写,Hello 和 hELLo 输出相同):

<?php
echo strncasecmp("Hello","Hello",6);
echo "<br>";
echo strncasecmp("Hello","hELLo",6);
?>

只是这样就需要转换两次。大多时候,我们是针对字符集转换的时候才会这样,比如判断参数传进来是否utf-8,这5个字符的写法,可就多了,比如UTF-8,Utf-8,utf-8等,那我们怎么办呢?strtolower?strupper?不需要啦。。 
strncasecmp($a,$b,$length)就可以了。。 
如果返回是0则相等,那我们怎么判断呢? 
strncasecmp($str,'utf-8',5) == 0那么,传入的参数就是utf8的,是否很方便呢? 
只是这些函数我们平时不太用得到,我看到这个函数的用法却是在 yii framework,他在处理事件的时候,判断前两个字符是否为 on 的时候,就是这样判断的。我也因此学到了一招。 

strncasecmp Definition and Usage 
定义和用法 
The strncasecmp() function compares two strings. 
strncasecmp()函数的作用是:比较字符串的前n个字符(大小写不敏感)。 

以上是php比较两个字符串在前 n 个字符(不区分大小写)的函数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn