前言这周是学习php的最后一周了,基本把教程看完了。到后面,前面可能还有一些问题,比如最近看教程的时候,突然发现一个问题。在研究之前留下的残骸时,突然想起我的一个条件代码没有按照原来的教程走。为了省事,我直接在原代码的末尾又加了一段代码(条件和原顺序是反的),运行结果不一样,当时也没太在意,因为有终究是没有报错,然后就想着改成和教程输出一样的结果,想着直接把false改成true,因为这样比较省事,结果出问题了!在数据添加成功的前提下,不管if中是true还是false,只要添加成功在else下面,返回的结果就是我们期望的结果,但是如果把添加成功换成addedfailed语句,那么新的会一直显示Theincreasefailed,但是数据添加成功了。这很奇怪。为什么?说实话,我盯着这段代码看了20多分钟,一点错误都没有。意料之中,因为我一直认为===和==等号的效果是一样的,但是我还是删除了一个等号来确认我认为是否正确,但是结果符合预期,让我很开心奇怪,我查了三个等号和两个等号的区别,我举个例子:比如你的函数会返回以下几种情况:1.大于0的数2,小于0的数3,等于to04.False(onfailure)这时候如果要捕获失败,就必须用===代替==,三个等号代表比较对象的类型要一致。两个等号表示只要数值相等就满足条件。因为==不仅会匹配第四种情况,还会匹配第三种情况,因为0也是false!而由于此时结果是一个值,===不匹配第三种情况,所以出现上面的问题。另一个问题是当条件执行语句相同但真假不同时,刷新insert界面的结果不同,但是当语句执行顺序颠倒且真假相同时,刷新的结果插入接口也不同,可分为两组。当刷新插入界面时,页面执行一次插入代码。此时保存失败结果为false,没有id,所以出现显示结果。因为一开始我一直以为save()没有返回0,所以想不通为什么。上网查了下发现,如果前台数据没有变化,就返回0,如果变化了,就返回变化的行号,失败就返回isfalse。总结通过这个错误,我又一次长记性了。现在的问题马上解决,因为如果不马上解决,我会一直很迷茫。问题虽然麻烦,但是现在解决了感觉还是很舒服的。这很酷,但不会一直很酷。下周我就要开始做这个项目了,我对自己和团队说,加油,我们很棒!好的!本文版权所有,版权属于【河北工业大学梦云知软件开发团队】本文作者:陈丽婷
