欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 php中strncasecmp字符串比较函数用法说明: 我们通常在进行字符串比较的时候都是先用strtolower或者strtoupper将字符串转换为小写或者大写之后,再进行判断是否相等。 但是这样就需要转换两次。大多
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入
php中strncasecmp字符串比较函数用法说明:
我们通常在进行字符串比较的时候都是先用strtolower或者strtoupper将字符串转换为小写或者大写之后,再进行判断是否相等。
但是这样就需要转换两次。大多时候,我们是针对字符集转换的时候才会这样,比如判断参数传进来是否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()函数的作用是:比较字符串的前n个字符(大小写不敏感)。
这个函数将返回下列值:
0 ? 如果字符串相等
>0 ? 如果string1大于string2
Syntax
语法
strncasecmp(string1,string2,length)
Parameter参数 Description描述
string1 必要参数。指定参与比较的第一个字符串对象
string2 必要参数。指定参与比较的第二个字符串对象
length 必要参数。指定每个字符串中参数比较的字符数量
注意:strncasecmp()函数是二进制精确的,并且它不区分字母大小写。
实例
echo strncasecmp("Hello world!","hello phpzixue.cn!",6);
?>
结果如下:
0