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面向对象全攻略 (五) 封装性
Sep 30 PHP
php中的观察者模式
Mar 24 PHP
PHP分页效率终结版(推荐)
Jul 01 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
Jun 12 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
Aug 11 PHP
PHP+MYSQL中文乱码问题
Jul 01 PHP
PHP中list方法用法示例
Dec 01 PHP
PHP实现的分解质因数操作示例
Aug 01 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
Nov 20 PHP
PDO实现学生管理系统
Mar 21 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
Aug 11 PHP
laravel添加角色和模糊搜索功能的实现代码
Jun 22 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
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
跟我学Laravel之请求与输入
2014/10/15 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
2006/11/07 Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
2013/01/15 Javascript
jquery实现固定顶部导航效果(仿蘑菇街)
2013/03/21 Javascript
用javascript添加控件自定义属性解析
2013/11/25 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
JavaScript实现的一个日期格式化函数分享
2014/12/06 Javascript
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
莱鸟介绍javascript onclick事件
2016/01/06 Javascript
浅析在javascript中创建对象的各种模式
2016/05/06 Javascript
浅谈Angularjs link和compile的使用区别
2016/10/21 Javascript
JavaScript运动框架 链式运动到完美运动(五)
2017/05/18 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
jQuery中ajax获取数据赋值给页面的实例
2017/12/31 jQuery
vue脚手架及vue-router基本使用
2018/04/09 Javascript
vue 组件高级用法实例详解
2018/04/11 Javascript
JS集合set类的实现与使用方法示例
2019/02/01 Javascript
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
python模块hashlib(加密服务)知识点讲解
2019/11/25 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
浅谈Python 参数与变量
2020/06/20 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
2021/03/03 Python
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
为什么需要版本控制
2016/10/28 面试题
土木工程个人自荐信范文
2013/11/30 职场文书
记帐员岗位责任制
2014/02/08 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
四风对照检查材料思想汇报
2014/09/20 职场文书
小学优秀教师材料
2014/12/15 职场文书