共计 1119 个字符,预计需要花费 3 分钟才能阅读完成。
前言
本周是学习 php 的最初一周了,我也根本把教程看完了,整个下来感觉就是刚开始很慢,到起初就会好很多,然而,尽管看到了前面,后面可能还是会有点故障,就比方最近看教程的时候忽然发现了一个问题。
之前遗留的残骸
在某天学习的时候我忽然想起来有一次我的一个写条件的代码没有依照教程本来顺的来,为了图省事就间接把另一段代码加到本来代码的开端了(条件和本来的程序相同),运行后果也不一样来着,过后也没太大意,因为毕竟没有报错,起初就想着改成和教程输入一样的后果,就想着间接把 false 改成 true,因为比拟省事,然而,出事了!
在数据增加胜利的前提下,不论 if 中是 true 还是 false 只有减少胜利在 else 上面那么返回的后果就是咱们所期待的,然而减少胜利如果和减少失败的语句更换一下程序,那么就会始终显示新增失败,但数据是减少胜利的,这就奇了怪了,到底为啥呢,说实话我盯这段代码足足二十来分钟,没有报错,阐明语法正确,拼写也争取,但就是不是预期,因为以前我始终认为 === 与 == 等号是一样的成果,然而我还是删了一个等号想再确认一下我认为的是不是正确的,然而,后果合乎预期了这让我很惊喜,起初查了一下三个等号与两个等号的区别,先举个列子:
比方你一个函数会返回这几种状况:
1、大于 0 的数
2、小于 0 的数
3、等于 0 的数(也就是 0 啦)
4、False(失败时)
这时候如果你想捕捉失败的状况,你就必须用 ===,而不能用 ==,并且三个等号代表比拟对象的类型也要统一。两个等号示意只有值相等就满足条件。
因为 == 除了会匹配第 4 种状况外,还会匹配第 3 种状况,因为 0 也是假!
而因为此时 result 是一个值,=== 不匹配第三种状况,所以就呈现了所述问题。
另一个问题就是在条件执行语句一样然而 true 和 false 不一样时,刷新 insert 界面的后果不同,然而执行语句程序调换 true 和 false 一样时,刷新 insert 界面的后果也不同,能够分两组看,当刷新 insert 界面时,页面执行了一遍 insert 的代码,此时保留失败 result 为 false,也就没有 id,所以才会呈现所示后果。
因为刚开始始终认为 save()执行失败返回的是 0 所以就始终搞不懂为什么,在网上查了一下才晓得,如果前台数据没扭转返回 0,扭转则返回扭转的那个行数,失败的话返回的便是 false 了。
总结
通过这次的谬误,我又一次地长了忘性,当下问题当下解决,因为如果不当下解决,会始终糊涂,问题虽是麻烦的,然而当下解决的感觉却是很难受啊,拖一时一时爽,然而始终拖不会一爽快。
下周就开始做我的项目了,绝对本人也绝对团队说,加油,咱们很棒!nice!
本文保留所有权力,版权归 [河北工业大学梦云智软件开发团队]
本文作者:陈丽婷