php strcmp使用说明


Posted in PHP onApril 22, 2010

以区分大小写的方式比较两个字符串
Strcmp()函数对两个字符串进行二进制安全的比较,并区分大小写。其形式为:
int strcmp ( string str1 , string str2 )
根据比较的结果将返回如下的一个可能值。
•如果str1 和str2 相等则返回0 。
•如果str1小于str2则返回-1 。
•如果str1大于str2则返回1 。
网站经常要求待注册的用户输入并确认他选择的密码,减少由于键入错误而生成不正确密码的可能性。因为密码通常是区分大小写的,所以strcmp()对于比较这两个密码是非常合适的:

<?php 
$pswd = "supersecret"; 
$pswd2 = "supersecret"; 
if (strcmp($pswd,$pswd2) != 0) 
echo "Your passwords do not match!"; 
else 
echo "Passwords match!"; 
?>

注意,对于strcmp ( ) ,字符串必须完全匹配才认为是相等的。例如,Supersecret 不同于supersecret 。如果要以不区分大小写的方式比较两个字符串,可以考虑下面介绍的strcasecmp ()。
关于这个函数,另一个容易混淆的地方是:两个字符串相等时要返回0 。这与使用==操作符完成字符串比较有所不同,如下:
if ( $str1 = = $str2)
两种方式目标相同,都是比较两个字符串,但要记住,它们返回的值却不同。

实例代码:

<?php 
echo strcmp("Hello world!","Hello world!"); 
//返回0 
?>

下面这个是比较好的strcmp的例子代码:
PHP strcmp根据IP地址控制访问的代码 

简单的补充:
这里的str1和str2比较 实际上是str1和str2 的ASCII值的比较
比如:
strcmp("A","a"); 返回值为 -1
// a的ASCII值是97 A的ASCII值是65
由此例子还可以看出 当用strcmp()比较字符串时,是区分大小写的

接着再看strcmp的深入理解:

strcmp("abc","abc"); 此时 字符串相等 返回值为 0
我们改一下 strcmp("aBc","abc");此时就不相等了 返回值为-1
由于strcmp是让aBc和abc逐一比较的,两个字符串的第一个和第一个比较,第

二个和第二个比较……当每一次比较的ASCII值相等时,才能继续比较下一对

字符。 所以,比较第二对 B和b,不相等,那么比较停止,出现返回值。

if ("abc">"aBC") 比较原理一样

PHP 相关文章推荐
PHP insert语法详解
Jun 07 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
php线性表顺序存储实现代码(增删查改)
Feb 16 PHP
PHP设计模式之解释器模式的深入解析
Jun 13 PHP
php动态生成函数示例
Mar 21 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
Jun 19 PHP
PHP实现指定字段的多维数组排序函数分享
Mar 09 PHP
[原创]PHP字符串中插入子字符串方法总结
May 06 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
详解php中生成标准uuid(guid)的方法
Apr 28 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
Aug 14 PHP
PHP sdk文档处理常用代码示例解析
Dec 09 PHP
PHP 加密解密内部算法
Apr 22 #PHP
PHP 根据IP地址控制访问的代码
Apr 22 #PHP
收集的二十一个实用便利的PHP函数代码
Apr 22 #PHP
让PHP开发者事半功倍的十大技巧小结
Apr 20 #PHP
php快速url重写 更新版[需php 5.30以上]
Apr 20 #PHP
一个PHP的String类代码
Apr 20 #PHP
使用PHP提取视频网站页面中的FLASH地址的代码
Apr 17 #PHP
You might like
PHP生成UTF8文件的方法
2010/05/15 PHP
php获取服务器信息的实现代码
2013/02/04 PHP
9段PHP实用功能的代码推荐
2014/10/14 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
javascript 触发HTML元素绑定的函数
2010/09/11 Javascript
JavaScript的事件绑定(方便不支持js的时候)
2013/10/01 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
jQuery简单实现提交数据出现loading进度条的方法
2016/03/29 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
2016/08/02 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
2020/09/10 Javascript
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
Python字符串格式化
2015/06/15 Python
在DigitalOcean的服务器上部署flaskblog应用
2015/12/19 Python
python numpy元素的区间查找方法
2018/11/14 Python
Python 限制线程的最大数量的方法(Semaphore)
2019/02/22 Python
Python 实现一个计时器
2020/07/28 Python
python实现xml转json文件的示例代码
2020/12/30 Python
HTML5 Canvas概述
2009/08/26 HTML / CSS
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
日本最大美瞳直送网:Morecontact(中文)
2019/04/03 全球购物
乡镇干部十八大感言
2014/02/17 职场文书
后勤主管岗位职责
2014/03/01 职场文书
学校对教师的评语
2014/04/28 职场文书
普通话宣传标语
2014/06/26 职场文书
奥巴马上海演讲稿
2014/09/10 职场文书
村干部群众路线教育活动对照检查材料
2014/10/01 职场文书
房屋过户委托书范本
2014/10/07 职场文书
2014年党委工作总结
2014/11/22 职场文书
财务管理制度范本
2015/08/04 职场文书
恶魔之树最顶端的三颗果实 震震果实上榜,第一可以制造岩浆
2022/03/18 日漫