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 相关文章推荐
第十二节 类的自动加载 [12]
Oct 09 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
Dec 29 PHP
PHP5 的对象赋值机制介绍
Aug 02 PHP
教你如何使用php session
Oct 28 PHP
PHP错误和异长常处理总结
Mar 06 PHP
php无限极分类递归排序实现方法
Nov 11 PHP
apache中为php 设置虚拟目录
Dec 17 PHP
变量在 PHP7 内部的实现(二)
Dec 21 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
Apr 15 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 21 PHP
PHP中isset、empty的用法与区别示例详解
Nov 05 PHP
PHP7变量处理机制修改
Mar 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实现 上一篇、下一篇的代码
2012/09/29 PHP
ThinkPHP 模板引擎使用详解
2017/05/07 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
JS获取图片实际宽高及根据图片大小进行自适应
2013/08/11 Javascript
js实现div弹出层的方法
2014/11/20 Javascript
jQuery获取当前点击的对象元素(实现代码)
2016/05/19 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
JavaScript 中对象的深拷贝
2016/12/04 Javascript
微信小程序组件 marquee实例详解
2017/06/23 Javascript
详解解决使用axios发送json后台接收不到的问题
2018/06/27 Javascript
详解webpack loader和plugin编写
2018/10/12 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
详解如何探测小程序返回到webview页面
2019/05/14 Javascript
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python爬虫框架Scrapy实战之批量抓取招聘信息
2015/08/07 Python
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
python 矩阵增加一行或一列的实例
2018/04/04 Python
python3 下载网络图片代码实例
2019/08/27 Python
Python上下文管理器全实例详解
2019/11/12 Python
python selenium操作cookie的实现
2020/03/18 Python
keras实现图像预处理并生成一个generator的案例
2020/06/17 Python
增大python字体的方法步骤
2020/07/05 Python
html5贪吃蛇游戏使用63行代码完美实现
2013/06/25 HTML / CSS
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
百联网上商城:i百联
2017/01/28 全球购物
马来西亚奢侈品牌购物商城:Valiram 247
2020/09/29 全球购物
科颜氏印度官网:Kiehl’s印度
2021/02/20 全球购物
会计主管岗位职责
2014/01/03 职场文书
求职信内容怎么写
2014/05/26 职场文书
计算机系统管理员求职信
2014/06/20 职场文书
2014和解协议书范文
2014/09/15 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
2015年七一建党节演讲稿
2015/03/19 职场文书
歼十出击观后感
2015/06/11 职场文书
班主任班级管理心得体会
2016/01/07 职场文书
如何写一份具有法律效力的借款协议书?
2019/07/02 职场文书