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)














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

(0)

相关推荐

  • php比较相似字符串的方法

    本文实例讲述了php比较相似字符串的方法.分享给大家供大家参考.具体分析如下: 这里通过php的similar_text函数比较两个字符串的相似性. $word2compare = "stupid"; $words = array( 'stupid', 'stu and pid', 'hello', 'foobar', 'stpid', 'upid', 'stuuupid', 'sstuuupiiid', ); while(list($id, $str) = each($words))

  • php 字符串压缩方法比较示例

    php 提供的字符串压缩方法有 1.gzcompress - Compress a string This function compress the given string using the ZLIB data format. 2.gzencode - Create a gzip compressed string This function returns a compressed version of the input data compatible with the output

  • PHP容易被忽略而出错陷阱 数字与字符串比较

    0 与任意非数字(或者说,不可转化为数字的字符)前导的字符串比较(操作符为==), 均返回 true. 原因是, 数字与字符串比较时, 先尝试将字符串转换为数字, 再比较, 一个不能转换为数字的字符串, 转换结果为0, 故, 与0比较总返回 true. 更加详细的比较规则, 多种类型的比较规则, 在 PHP手册/语言参考/运算符/比较运算符 可以找到. 在PHP里当两个数字型字符串(只含数字的字符串)进行比较的时候是直接转换成数值进行比较的 如下示例:(注意$a和$b两个变量的最后一位不相等)

  • php常用字符串比较函数实例汇总

    本文实例汇总了php常用字符串比较函数.分享给大家供大家参考.具体分析如下: substr_compare() 函数从指定的开始长度比较两个字符串,该函数返回: 0 - 如果两字符串相等,<0 - 如果 string1 (从开始位置)小于 string2,>0 - 如果 string1 (从开始位置)大于 string2. 语法:substr_compare(string1,string2,startpos,length,case),代码如下: 复制代码 代码如下: $str1="h

  • PHP 字符串分割和比较

    或者使用strcmp来判断,但是这个能够告诉你两个字符串是否相等,但是无法告诉你在那里不同. 我的思路是单字符串分割为一个个字母(character),这样比较就能精确知道在那个位置不同了. 分隔字符串,使用"str_split"就可以了,语法参考[2].然后输出结果数组,好处是连空格也会作为数组的元素.我之前的例子就是因为前一个字符串包含2个空格,而后一个只有一个.但是输出的时候看到的显示都是一样的. 也可以按照其他分隔符进行分割,如"explode"或者&quo

  • 用PHP中的 == 运算符进行字符串比较

    最近在Greg Beaver's的blog上发表的一篇新文章 comparing strings in PHP with the == operator 中提及了PHP的 == 运算符在对字符串进行比较时值得注意的问题. 在某些情况下,PHP会把类数值数据(如含有数字的字符串等)转换成数值处理,== 运算符就是其中之一.在使用 == 运算符对两个字符串进行松散比较时,PHP会把类数值的字符串转换为数值进行比较,下面的实验证实了这个结论:<?phpvar_dump('01' == 1);?> 以

  • php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)

    本文实例分析了php字符串比较函数用法.分享给大家供大家参考,具体如下: 直接比较字符串是否完全一致,可以使用"=="来进行,但是有时候可能需要进行更加复杂的字符串比较,如部分匹配等. 1.strcmp()函数:该函数进行字符串之间的比较,在比较的时候,区分大小写. 声明: strcmp(string str1,string str2) 该函数对传入的两个字符串参数进行比较,如果两个字符串完全相同,则返回0;如果按照字典顺序str1在str2后面,则返回一个正数;如果str1小于str

  • PHP similar_text 字符串的相似性比较函数

    PHP 提供了一个极少使用的 similar_text 函数,但此函数非常有用,用于比较两个字符串并返回相似程度的百分比,以下是similar_text () 函数的使用方法: 复制代码 代码如下: similar_text($string1, $string2, $percent); //使用此函数后,我们从变量$percent 中获取刚比较的两个字符串的相似度百分比

  • php实现比较两个字符串日期大小的方法

    本文实例讲述了php实现比较两个字符串日期大小的方法.分享给大家供大家参考.具体如下: <?php function dateBDate($date1, $date2) { // 日期1是否大于日期2 $month1 = date("m", strtotime($date1)); $month2 = date("m", strtotime($date2)); $day1 = date("d", strtotime($date1)); $da

  • PHP字符串比较函数strcmp()和strcasecmp()使用总结

    比较字符串是任何编程语言的字符串处理功能中重要的特性之一.在PHP中除了可以使用比较运算符号(==.<或>)加以比较外,还提供了一系列的比较函数,使PHP可以进行更复杂的字符串比较.如strcmp().strcasecmp()和strnatcmp()等函数. 1.按字节顺序进行字符串比较 要按字节顺序进行字符串的比较,可以使用strcmp()和strcasecmp()两个函数,其中函数strcasecmp()可以忽略字符串中字母的大小写进行比较.这两个函数的原型如下所示: 复制代码 代码如下:

  • php比较两个字符串长度的方法

    本文实例讲述了php比较两个字符串长度的方法.分享给大家供大家参考.具体实现方法如下: 这段代码计算两个字符串的长度,然后计算其差值 <?php // This will return a number of how many more characters the longest string has function str_compare_length($str1, $str2){ $len1 = strlen($str1); $len2 = strlen($str2); return a

  • PHP学习之字符串比较和查找

    1. 字符串比较 在PHP中,可以用==(双等号)或者 ===(三等号)来比较字符串.两者的区别是双等号不比较类型,三等号会比较类型,它不转换类型:用双等号进行比较时,如果等号左右两边有数字类型的值,刚会把另一个值转化为数字,然后进行比较.这样的话,如果是纯字符串或者NULL时,会转化为0进行比较.同样,大小于号也和等号一样,比较时可能出现不正确的结果. 所以,比较字符串可以用PHP的自带函数strcmp和strcasecmp.其中strcasecmp是strcmp的变种,它会先把字符串转化为小

随机推荐