PHP语言容易被忽略而出错陷阱 0 == ERROR_NONE
小标 2018-07-26 来源 : 阅读 1272 评论 0

摘要:本文主要向大家介绍了PHP语言容易被忽略而出错陷阱 0 == ERROR_NONE,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

本文主要向大家介绍了PHP语言容易被忽略而出错陷阱 0 == ERROR_NONE,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

>php -r "$a=0;var_dump($a,ERROR_NONE,$a==ERROR_NONE);";

PHP Notice:  Use of undefined constant ERROR_NONE - assumed 'ERROR_NONE' in Command line code on line 1

 

Notice: Use of undefined constant ERROR_NONE - assumed 'ERROR_NONE' in Command line code on line 1

PHP Notice:  Use of undefined constant ERROR_NONE - assumed 'ERROR_NONE' in Command line code on line 1

 

Notice: Use of undefined constant ERROR_NONE - assumed 'ERROR_NONE' in Command line code on line 1

int(0)

string(10) "ERROR_NONE"

bool(true)

一个没有定义的常量, 在系统里面会自动当做字符串处理。
0 与任意非数字(或者说,不可转化为数字的字符)前导的字符串比较(操作符为==), 均返回 true.
原因是, 数字与字符串比较时, 先尝试将字符串转换为数字, 再比较, 一个不能转换为数字的字符串, 转换结果为0, 故, 与0比较总返回 true.

//$result为数字, ERROR_NONE未定义

//当$result = 0, 条件一直成立, 当$result!=0,条件一直不成立if ($result == ERROR_NONE) {

}

以上就介绍了PHP的相关知识,希望对PHP有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言PHP频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程