PHP strncasecmp字符串比较的小技巧 |
||||||||
只是这样就需要转换两次 。大多时候,我们是针对字符集转换的时候才会这样,比如判断参数传进来是否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)
注意点 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 |