欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-04-07 12:05:47
...

实例

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

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

定义和用法

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

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

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

语法

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

技术细节

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

  • <0 - 如果 string1 小于 string2

  • >0 - 如果 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 个字符(不区分大小写)的函数的详细内容,更多请关注其它相关文章!