学习php教程最后一周的新发现

前言

本周是学习php的最后一周了,我也基本把教程看完了,整个下来感受就是刚开始很慢,到后来就会好不少,可是,虽然看到了后面,前面可能仍是会有点毛病,就好比最近看教程的时候忽然发现了一个问题。php

以前遗留的残骸

在某天学习的时候我忽然想起来有一次个人一个写条件的代码没有按照教程本来顺的来,为了图省事就直接把另外一段代码加到本来代码的末尾了(条件和本来的顺序相反),运行结果也不同来着,当时也没太大意,由于毕竟没有报错,后来就想着改为和教程输出同样的结果,就想着直接把false改为true,由于比较省事,可是,出事了!QQ图片20200718135700.jpgQQ图片20200718135710.pngQQ图片20200718135723.jpgQQ图片20200718135731.pngQQ图片20200718135746.jpgQQ图片20200718135751.pngQQ图片20200718135800.jpgQQ图片20200718135805.png
在数据添加成功的前提下,无论if中是true仍是false只要增长成功在else下面那么返回的结果就是咱们所期待的,可是增长成功若是和增长失败的语句更换一下顺序,那么就会一直显示新增失败,但数据是增长成功的,这就奇了怪了,到底为啥呢,说实话我盯这段代码足足二十来分钟,没有报错,说明语法正确,拼写也争取,但就是否是预期,因为之前我一直认为===与==等号是同样的效果,可是我仍是删了一个等号想再确认一下我认为的是否是正确的,可是,结果符合预期了这让我很惊喜,后来查了一下三个等号与两个等号的区别,先举个列子:
好比你一个函数会返回这几种状况:
一、大于0的数
二、小于0的数
三、等于0的数(也就是0啦)
四、False(失败时)
这时候若是你想捕获失败的状况,你就必须用===,而不能用== ,而且三个等号表明比较对象的类型也要一致。两个等号表示只要值相等就知足条件。
由于==除了会匹配第4种状况外,还会匹配第3种状况,由于0也是假!
而由于此时result是一个值,===不匹配第三种状况,因此就出现了所述问题。segmentfault

另外一个问题就是在条件执行语句同样可是true和false不同时,刷新insert界面的结果不一样,可是执行语句顺序调换true和false同样时,刷新insert界面的结果也不一样,能够分两组看,当刷新insert界面时,页面执行了一遍insert的代码,此时保存失败result为false,也就没有id,因此才会出现所示结果。
由于刚开始一直觉得save()执行失败返回的是0因此就一直搞不懂为何,在网上查了一下才知道,若是前台数据没改变返回0,改变则返回改变的那个行数,失败的话返回的即是false了。函数

总结

经过此次的错误,我又一次地长了记性,当下问题当下解决,由于若是不当下解决,会一直糊涂,问题虽是麻烦的,可是当下解决的感受倒是很舒服啊,拖一时一时爽,可是一直拖不会一直爽。
下周就开始作项目了,相对本身也相对团队说,加油,咱们很棒!nice!
本文保留全部权利,版权归[河北工业大学梦云智软件开发团队]
本文做者:陈丽婷学习

相关文章
相关标签/搜索