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中在PDO中使用事务(Transaction)
May 14 PHP
PHP在线生成二维码(google api)的实现代码详解
Jun 04 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
May 12 PHP
PHP中使用asort进行中文排序失效的问题处理
Aug 18 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
Feb 12 PHP
php自定义urlencode,urldecode函数实例
Mar 24 PHP
php实现递归抓取网页类实例
Apr 03 PHP
php目录拷贝实现方法
Jul 10 PHP
PHP实现合并discuz用户
Aug 05 PHP
PHP页面跳转实现延时跳转的方法
Dec 10 PHP
PHP实现活动人选抽奖功能
Apr 19 PHP
Laravel框架实现利用监听器进行sql语句记录功能
Jun 06 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读取MySQL数据代码
2008/06/05 PHP
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
PHP中include/require/include_once/require_once使用心得
2016/08/28 PHP
PHP制作登录异常ip检测功能的实例代码
2016/11/16 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
如何实现textarea里的不同文本显示不同颜色
2014/01/20 Javascript
jquery解决客户端跨域访问问题
2015/01/06 Javascript
JavaScript中的标签语句用法分析
2015/02/10 Javascript
win7下安装配置node.js+express开发环境
2015/12/06 Javascript
js随机生成26个大小写字母
2016/02/12 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
underscore之function_动力节点Java学院整理
2017/07/11 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
vue 中this.$set 动态绑定数据的案例讲解
2021/01/29 Vue.js
python实现的防DDoS脚本
2011/02/08 Python
Python中__call__用法实例
2014/08/29 Python
Python遍历文件夹和读写文件的实现方法
2017/05/10 Python
flask框架实现连接sqlite3数据库的方法分析
2018/07/16 Python
python实现烟花小程序
2019/01/30 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
python实现简单的tcp 文件下载
2020/09/16 Python
Python字典dict常用方法函数实例
2020/11/09 Python
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
华三通信H3C面试题
2015/05/15 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2012/04/17 面试题
求职意向书
2014/04/01 职场文书
《长征》教学反思
2014/04/27 职场文书
拉拉队口号
2014/06/16 职场文书
公司活动总结怎么写
2014/06/25 职场文书
小学生一分钟演讲稿
2014/08/26 职场文书
简单租房协议书
2014/10/21 职场文书
车间质检员岗位职责
2015/04/08 职场文书
欢送会主持词
2015/07/01 职场文书