首页 > 代码库 > PHP两个字符串比较(人为出错),两字符串类型和数据表面相等,但strcmp()结果不为0
PHP两个字符串比较(人为出错),两字符串类型和数据表面相等,但strcmp()结果不为0
PHP中,比较两个字符串是否相等用:strcmp();
PHP strcmp() 函数
PHP String 函数
定义和用法
strcmp() 函数比较两个字符串。
该函数返回:
- 0 - 如果两个字符串相等
- <0 - 如果 string1 小于 string2
- >0 - 如果 string1 大于 string2
语法
strcmp(string1,string2)
参数 | 描述 |
---|---|
string1 | 必需。规定要比较的第一个字符串。 |
string2 | 必需。规定要比较的第二个字符串。 |
提示和注释
注释:该函数是二进制安全的,且对大小写敏感。
来源: <http://www.w3school.com.cn/php/func_string_strcmp.asp>
个人问题:
现有字符串 $a 和 $b
通过 echo 输出,两个字符串数据值相等
通过 gettype() 输出,两个字符串的数据类型相同且为 string
但 strcmp($a, $b) 却不等于 0 ;
问题解决:
通过 strlen() 分别查看 $a 和 $b 的字符串长度,发现长度不相等
我原本是数据库操作,$a 为插入数据库中的字符串,$b 为输入的字符串
通过比较,发现 $a 长度比 $b 大1,故推测是数据库插入操作可能出现了问题
经查证,是插入语句中多了一个空格
来自为知笔记(Wiz)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。