PHP strncasecmp字符串比较的小技巧

yipeiwu_com7年前PHP代码库
只是这样就需要转换两次。大多时候,我们是针对字符集转换的时候才会这样,比如判断参数传进来是否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个字符(大小写不敏感)。

This function returns:
这个函数将返回下列值:

0 - if the two strings are equal
0 – 如果字符串相等
<0 - if string1 is less than string2
<0 – 如果string1小于string2
>0 - if string1 is greater than string2
>0 – 如果string1大于string2
Syntax
语法
strncasecmp(string1,string2,length)
Parameter参数 Description描述
string1 Required. Specifies the first string to compare
必要参数。指定参与比较的第一个字符串对象
string2 Required. Specifies the second string to compare
必要参数。指定参与比较的第二个字符串对象
length Required. Specify the number of characters from each string to be used in the comparison
必要参数。指定每个字符串中参数比较的字符数量
Tips and Notes
注意点
Note: The strncasecmp() is binary safe and case-insensitive.
注意:strncasecmp()函数是二进制精确的,并且它不区分字母大小写。

Example
案例
复制代码 代码如下:

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

The output of the code above will be:
上述代码将输出下面的结果:
0

相关文章

关于php fread()使用技巧

说明 string fread ( int handle, int length ) fread() 从文件指针 handle 读取最多 length 个字节。该函数在读取完最多 len...

PHP进阶学习之Geo的地图定位算法详解

PHP进阶学习之Geo的地图定位算法详解

本文实例讲述了PHP进阶学习之Geo的地图定位算法。分享给大家供大家参考,具体如下: 前言 日常开发中我们经常需要查找某个物体的定位,或者查找附近的范围等,我们自然而然会想到的方法就是...

JoshChen_web格式编码UTF8-无BOM的小细节分析

JoshChen_web格式编码UTF8-无BOM的小细节分析

但是在开发的过程中,发现一个小细节的问题,必须要打开F12才能看到的,原来,在head头部里面的所有引用的东西以及title等等,全部都跑到body里面去了,苦思冥想,百度、google...

PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】

PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】

本文实例讲述了PHP编程实现多维数组按照某个键值排序的方法。分享给大家供大家参考,具体如下: 实现对多维数组按照某个键值排序的两种解决方法(array_multisort和array_s...

Discuz 5.0 中读取纯真IP数据库函数分析

Discuz  5.0 不在使用自己的IP数据,而是使用纯真IP的数据格式, 存取纯真IP数据库稍微有点麻烦,它的存储格式比较特殊也很有趣,具体的...