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 相关文章推荐
使用 MySQL Date/Time 类型
Mar 26 PHP
php 搜索框提示(自动完成)实例代码
Feb 05 PHP
PHP分多步骤填写发布信息的简单方法实例代码
Sep 23 PHP
使用淘宝IP库获取用户ip地理位置
Oct 27 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
Sep 06 PHP
php结合ACCESS的跨库查询功能
Jun 12 PHP
Yii2隐藏frontend/web和backend/web的方法
Dec 12 PHP
ThinkPHP使用Smarty第三方插件方法小结
Mar 19 PHP
PHP页面跳转操作实例分析(header方法)
Sep 28 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
Jan 20 PHP
php面向对象程序设计入门教程
Jun 22 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 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
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
jQuery调用WebService的实现代码
2011/06/19 Javascript
JavaScript 盒模型 尺寸深入理解
2012/12/31 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
常用的几段javascript代码分享
2014/03/25 Javascript
javascript中Number对象的toString()方法分析
2014/12/20 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
2015/12/08 Javascript
第一篇初识bootstrap
2016/06/21 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
2017/05/20 jQuery
vue :src 文件路径错误问题的解决方法
2018/05/15 Javascript
vue使用微信JS-SDK实现分享功能
2019/08/23 Javascript
js实现随机div颜色位置 类似满天星效果
2019/10/24 Javascript
jquery实现简单每周轮换的日历
2020/09/10 jQuery
element-ui点击查看大图的方法示例
2020/12/14 Javascript
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
[05:48]DOTA2英雄梦之声vol21 屠夫
2014/06/20 DOTA
Python3 安装PyQt5及exe打包图文教程
2019/01/08 Python
python使用Paramiko模块实现远程文件拷贝
2019/04/30 Python
python程序变成软件的实操方法
2019/06/24 Python
Python常用数据类型之间的转换总结
2019/09/06 Python
python 实现将小图片放到另一个较大的白色或黑色背景图片中
2019/12/12 Python
Python如何使用paramiko模块连接linux
2020/03/18 Python
Python如何在main中调用函数内的函数方式
2020/06/01 Python
FLOS美国官网:意大利高级照明工艺的传奇
2018/08/07 全球购物
.NET初级开发工程师面试题(包括Javascript)
2012/08/22 面试题
程序员跳槽必看面试题总结
2013/06/28 面试题
Ruby如何进行文件操作
2014/07/17 面试题
个人求职信范文分享
2013/12/13 职场文书
土木建筑学生自我评价
2014/01/14 职场文书
幼儿园教师考核制度
2014/02/01 职场文书
竞聘演讲稿精彩开头和结尾
2014/05/14 职场文书
语文教研活动总结
2014/07/02 职场文书
2014年精神文明建设工作总结
2014/11/19 职场文书
致运动员的广播稿
2015/08/19 职场文书
餐厅开业活动方案
2019/07/08 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书