PHP strncasecmp字符串比较的小技巧


Posted in PHP onJanuary 04, 2011

只是这样就需要转换两次。大多时候,我们是针对字符集转换的时候才会这样,比如判断参数传进来是否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 相关文章推荐
基于PHP+MySQL的聊天室设计
Oct 09 PHP
从MySQL数据库表中取出随机数据的代码
Sep 05 PHP
PHP 开发环境配置(Zend Server安装)
Apr 28 PHP
基于PHPExcel的常用方法总结
Jun 13 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
Aug 10 PHP
thinkphp使用literal防止模板标签被解析的方法
Nov 22 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
php单一接口的实现方法
Jun 20 PHP
php curl上传、下载、https登陆实现代码
Jul 23 PHP
PHP7内核CGI与FastCGI详解
Apr 14 PHP
php + WebUploader实现图片批量上传功能
May 06 PHP
PHP autoload使用方法及步骤详解
Sep 05 PHP
php simplexmlElement操作xml的命名空间实现代码
Jan 04 #PHP
array_multisort实现PHP多维数组排序示例讲解
Jan 04 #PHP
php关于array_multisort多维数组排序的使用说明
Jan 04 #PHP
PHP 设置MySQL连接字符集的方法
Jan 02 #PHP
php array_unique之后json_encode需要注意
Jan 02 #PHP
从php核心代码分析require和include的区别
Jan 02 #PHP
深入理解PHP之require/include顺序 推荐
Jan 02 #PHP
You might like
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
thinkPHP导出csv文件及用表格输出excel的方法
2015/12/30 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
PHP PDOStatement::fetchAll讲解
2019/01/31 PHP
jQuery中调用WebService方法小结
2011/03/28 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
js类式继承的具体实现方法
2013/12/31 Javascript
AngularJS基础 ng-click 指令示例代码
2016/08/01 Javascript
基于JavaScript实现随机颜色输入框
2016/12/10 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
2017/01/13 Javascript
bootstrap输入框组件使用方法详解
2017/01/19 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
详解Angular 4.x 动态创建组件
2017/04/25 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
2018/07/05 Javascript
vue使用video.js进行视频播放功能
2019/07/18 Javascript
JS中准确判断变量类型的方法
2020/06/01 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
[01:57]2018年度DOTA2最具潜力解说-完美盛典
2018/12/16 DOTA
使用pycharm生成代码模板的实例
2018/05/23 Python
python pexpect ssh 远程登录服务器的方法
2019/02/14 Python
python实现对输入的密文加密
2019/03/20 Python
Django中在xadmin中集成DjangoUeditor过程详解
2019/07/24 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
Pytorch GPU显存充足却显示out of memory的解决方式
2020/01/13 Python
Python模块_PyLibTiff读取tif文件的实例
2020/01/13 Python
通过python检测字符串的字母
2020/02/18 Python
python dict乱码如何解决
2020/06/07 Python
Pythonic版二分查找实现过程原理解析
2020/08/11 Python
IE滤镜与CSS3效果(详细整理分享)
2013/01/25 HTML / CSS
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
python re模块和正则表达式
2021/03/24 Python
《记金华的双龙洞》教学反思
2014/04/19 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书