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 相关文章推荐
Extended CHM PHP 语法手册之 DIY
Oct 09 PHP
PHP实现的功能是显示8条基色色带
Oct 09 PHP
php中3种方法统计字符串中每种字符的个数并排序
Aug 27 PHP
spl_autoload_register与autoload的区别详解
Jun 03 PHP
PHP转换文件夹下所有文件编码的实现代码
Jun 06 PHP
php缓冲 output_buffering和ob_start使用介绍
Jan 30 PHP
Symfony2框架创建项目与模板设置实例详解
Mar 17 PHP
老生常谈文本文件和二进制文件的区别
Feb 27 PHP
php设计模式之工厂模式用法经典实例分析
Sep 20 PHP
详解Laravel设置多态关系模型别名的方式
Oct 17 PHP
php让json_encode不自动转义斜杠“/”的方法
Apr 27 PHP
laravel开发环境homestead搭建过程详解
Jul 03 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
浅谈apache和nginx的rewrite的区别
2013/02/22 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
PHP7 新增功能
2021/03/09 PHP
PHP7新增函数
2021/03/09 PHP
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
2013/07/09 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
node.js中的fs.open方法使用说明
2014/12/17 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
JS功能代码集锦
2016/05/04 Javascript
详解Vue.js分发之作用域槽
2017/06/13 Javascript
Angular4学习笔记之实现绑定和分包
2017/08/01 Javascript
vue实现底部菜单功能
2018/07/24 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
JQuery的加载和选择器用法简单示例
2019/05/13 jQuery
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
2019/11/06 Javascript
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
详解Python中的元组与逻辑运算符
2015/10/13 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
浅谈python数据类型及类型转换
2017/12/18 Python
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
Python3数字求和的实例
2019/02/19 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
python中for in的用法详解
2020/04/17 Python
Python中实现输入一个整数的案例
2020/05/03 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
如何利用Python写个坦克大战
2020/11/18 Python
伦敦香水公司:The London Perfume Company
2019/11/13 全球购物
家长对小学生的评语
2014/01/28 职场文书
《老山界》教学反思
2014/04/08 职场文书
班主任对学生的评语
2014/04/26 职场文书
奥巴马获胜演讲稿
2014/05/15 职场文书
歌舞青春观后感
2015/06/10 职场文书