php返回结果判断,老司机在判断返回结果时翻了个身(ThinkPHP)
“这篇文章属于基本内容。看到它的学生检查他们的代码是否有同样的问题
“序言小q又带着问题来了,今天的问题估计是大多数同志都会犯的问题。
问题是使用ThinkPHP时查询返回的结果是否为空。
你自信吗?你不知道的是空的!如果你是这样认为的,那就简单的看一下文章吧!
“出现这个问题的原因是,不清楚查询数据库时框架返回什么类型。知道类型是一个很简单的问题。
”——1——笑死。第一,问题再现。数据库只是一个表,用户。这个表没有数据,只是一个空表。
数据库然后使用ThinkPHP框架查询这个表的数据
查询代码Q给你三秒钟的时间思考这里会返回什么值。要么返回临时数据,要么返回用户表的数据。
小Q想都没想就说肯定会返回临时数据,因为用户表根本没有数据。
然后我们来看看打印出来的结果。
小Q睁大了眼睛,没有看到“目前没有数据”两个字,而是返回了一个空阵(暂时这么认为)。
“这里暂时认为这是一个空数组,其实它只是看起来像一个数组,真正的数据结构是结果集。至于结果集是什么,百度本身!
”——4——返回结果这次,小Q傻了!怎么会这样!在小Q的强烈要求下,日期数据打印出来了
希望你返回的结果还是空数组(暂时这么认为)
返回结果,那么必须为空()才能判断一个数组是否为空,对吗?
小Q自信地点点头。这一次,没有问题。我这样写了好几年了,就是以虚来判断。
自信你只能判断这个值是不是空一次才能让小Q看到骨灰盒在哭。
代码如下
-8码打印小Q脸上挂满了灿烂的笑容,我不忍心点击请求按钮。
无奈带着小Q的期待,狠心按下了请求键。
退货结果看到上面的退货结果,小Q脸上的笑容突然戛然而止,紧接着是满脸疑惑的大脸板。
怀疑再次检查书写的判断代码是否有问题。
长期纵横战场几十年,复制粘贴,拿起键盘就是干劲怎么能把这个代码写错。
小Q终于坐不住了,笑着问,怎么回事!
小Q的笑容终于说到点子上了。请继续看如何让小Q明白真相。
第二,解决问题,当务之急是检查返回的数据是否是我们坚持的数组,然后进行检查。
于是我拿起键盘敲了八下。那就是函数is_array。
再次发起请求
打印结果此时小Q的表情是这样的,真的很乱
你之前不是这样的,我不慌不忙的打开官网的文档给小q看。
官网明确表示数据返回的结果是数据集,5.1版直接默认。
如果你继续往下看官网文档,你会看到有哪些额外的方法。你知道第一个吗?是空的吗?
小Q惊呆了,说:“你不能这样判断!”!
额外的方法只是一个测试吗?
考码小Q最后一把鼻涕一把泪的说,我还以为我眼睛有问题呢!
为什么不能判断是不是空数据?长出了一口气。
返回结果”小Q疑惑的看了我一眼,说“自从使用5.1框架以来,所有的判断都是这样写的。小Q小跑着出去,只说了一句话,在线路没问题之前赶紧把代码修好,不然我就下岗了。
“解决了小q的问题,那就谈点别的。
第三,扩大解决小Q的问题,来说几个严肃的话题。
上面有一个省略问题,就是空,用来判断PHP中的数组是否为空。
这个小q坚信是这样的,那么这个用法还能在框架中使用吗?
那当然没问题!请看下图
代码返回的结果必须和预期的一样,真相永远是真相。
返回结果四。总结给小Q的总结,本质总是那么简单。
虽然返回的结果可以在数据库的配置文件中修改,但是不建议卡卡修改。
既然框架已经默认了结果集,那么就用结果结果集,如果非要用数组的话,也是可以的。
小Q这个问题之后,要注意以下几个问题。
使用查找查询时,如果结果为空,可以使用判断!在使用选择查询时进行判断,如果结果为空,则返回的结果是一个空的结果集,可以使用结果集的额外函数toArray()将其转换为数组,然后使用空进行判断。但是如果用结果集来判断的话,就是$ data->:可以用isEmpty()提供的函数来判断。“坚持学习、写博客、分享是卡卡从职业生涯开始就一直坚持的信念。希望广大互联网上的卡卡文章能给你带来一点帮助。这是卡卡。下次见。
“以上是老司机翻车(ThinkPHP)在判断返回结果时的细节,更多。
相关文章:

ZooKeeper客户端地址列表的随机原理
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nileader.blog.51cto.com/1381108/932948查看PDF版本 转载请用注明:ni掌柜nileadergmail.com 在之前一个文章《ZooKeeper Jav…

Intellij IDEA使用教程(超详细)
转自 http://www.phperz.com/article/15/0923/159067.html转载于:https://www.cnblogs.com/lijingran/p/8585430.html

【组队学习】【31期】青少年编程(Scratch 四级)
青少年编程(Scratch 四级) 航路开辟者:王思齐、马燕鹏领航员:马燕鹏航海士:王思齐、马燕鹏 基本信息 开源内容:https://github.com/datawhalechina/team-learning-program/tree/master/Scratch内容属性&…

java中mypoiexception,java - 如何使用Poi获取Java中单元格的数据验证源? - 堆栈内存溢出...
此问题包含多个不同的问题。首先,我们需要获取工作表的数据验证,然后为每个数据验证获取数据验证所适用的Excel单元格范围。 如果该单元格位于该单元格范围之一中,并且数据验证是列表约束,则进行进一步处理。 否则返回默认值。如果…

[20180317]12c TABLE ACCESS BY INDEX ROWID BATCHED2.txt
[20180317]12c TABLE ACCESS BY INDEX ROWID BATCHED2.txt--//简单探究12c TABLE ACCESS BY INDEX ROWID BATCHED特性.--//当使用12c时,执行计划出现TABLE ACCESS BY INDEX ROWID BATCHED,做一些探究.--//本文主要探究如何使用提示或者隐含参数控制这种特性.1.环境:SCOTTtest01…

Angularjs集成第三方js插件之Uploadify
有时候需要用一些第三方插件,比如datepicker,slider,或者tree等。以前的做法是直接通过jquery取得某个元素,然后调用某个方法即可。但在angularjs中,不能直接这么写,必须写在directive中。 开源项目Angular…

备考12月份电子学会青少年编程能力等级测试(图形化)的公益训练营即将开营
一、考试安排 考试方式 考试形式:在线居家考试(全国)报名时间:9月26日08:00 ~ 11月23日16:00退费截止时间:11月23日16:00准考证下载时间:11月30日 ~ 考前1天 考前集中测试时间 12月9日(周四…

mysql left join超时,MySQL 行锁超时排查方法优化
一、大纲#### 20191219 10:10:10,234 | com.alibaba.druid.filter.logging.Log4jFilter.statementLogError(Log4jFilter.java:152) | ERROR | {conn-10593, pstmt-38675}executeerror.updatexxxsetxxx ? , xxx ?whereRowGuid ?com.mysql.jdbc.exceptions.jdbc4.MySQLTra…

【优秀作业】蚁群优化算法
蚁群优化算法 一.概述 生物学家发现,自然界中的蚁群觅食是一种群体性行为,并非单只蚂蚁自行寻找食物源。蚂蚁在寻找食物源时,会在其经过的路径上释放一种信息素,并能够感知其它蚂蚁释放的信息素。信息素浓度的大小表…

RPC-原理及RPC实例分析
还有就是:RPC支持的BIO,NIO的理解 (1)BIO: Blocking IO;同步阻塞; (2)NIO:Non-Blocking IO, 同步非阻塞; 参考:IO多路复用,同步,异步,阻塞和非阻塞 区别 在学校期间大家都写过不少程序,比如写个…

hdu 4608 I-number
http://acm.hdu.edu.cn/showproblem.php?pid4608 直接暴力 代码: #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<cmath> #include<set> #include<map> #include<stack> #inc…

php tab标签,JavaScript代码分享:tab标签的切换
本文实例讲述了js实现点击切换TAB标签。分享给大家供大家参考。具体如下:这里演示的选项卡效果代码,无jq,纯JS来实现,灰色风格,没有怎么美化,或许看上去比较普通,不过兼容性和操作起来挺舒服的,…

二进制,十进制,十六进制
生活中其实很多地方的计数方法都多少有点不同进制的影子。 比如我们最常用的10进制,其实起源于人有10个指头。如果我们的祖先始终没有摆脱手脚不分的境况,我想我们现在一定是在使用20进制。 至于二进制……没有袜子称为0只袜子,有一只袜子称为…

D3.js系列——初步使用、选择元素与绑定数据
D3 的全称是(Data-Driven Documents),顾名思义可以知道是一个被数据驱动的文档。听名字有点抽象,说简单一点,其实就是一个 JavaScript 的函数库,使用它主要是用来做数据可视化的。 D3 提供了各种简单易用的…

秦州:西瓜书 + 南瓜书 吃瓜系列 12. 聚类
Datawhale南瓜书是经典机器学习教材《机器学习》(西瓜书)的公式推导解析指南,旨在让在学习西瓜书的过程中,再也没有难推的公式,学好机器学习。 航路开辟者:谢文睿、秦州开源内容:https://githu…

php 5/0,PHP 5.5.0 released.该怎么解决
当前位置:我的异常网 PHP PHP 5.5.0 released.该怎么解决PHP 5.5.0 released.该怎么解决www.myexceptions.net 网友分享于:2013-08-02 浏览:12次PHP 5.5.0 released.The PHP development team is proud to announce the immediate availability of PH…

Windows下SVN权限配置过程详解
本节讲解一下Windows下SVN权限配置说明,针对的是一个目录下多库的情况,下面是具体的介绍,希望通过本文的学习,你能够对SVN权限配置问题有更加深刻的认识。 1、本文档适用于对Subvesion的自带服务svnserve进行权限配置,…

胡小明:大数据应用方向思考
一、警惕大数据过热 1.1 过热产生盲目性 国内大数据的宣传早已过热,很多区县级政府也在考虑成立大数据局,政府对大数据热几乎没有抵抗力,企业没有紧跟就对了,在大数据高潮中反省政府的大数据行为、冷静一下头脑是有益的࿰…

Datawhale组队学习周报(第040周)
本周报总结了从 11月15日至11月21日,Datawhale组队学习的运行情况,我们一直秉承“与学习者一起成长的理念”,希望这个活动能够让更多的学习者受益。 第 31 期组队学习已经与大家见面了,这次组队学习一共 11 门开源课程࿰…

matlab 无序数对,MATLAB中sort函数对矩阵数进行排序
(1)Bsort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序.eg: A[1,5,3],则sort(A)[1,3,5]A[1,5,3;2,4,1],则sort(A)[1,4,1;2,5,3](2)Bsort(A,dim),对数组按指定方向进行升序排序,dim 1,表示对每一列进行排序,,dim2表示对每一行进行排序…

云智易获上海CIO联盟“年度物联网云平台技术创新奖”
6月23日,云智易作为国内领先物联网云平台,受邀出席“跨界融合 聚势谋远”上海CIO联盟峰会。本次大会汇聚了全球各地各行业300位精英翘楚,共话未来发展趋势。 在本次大会中,云智易物联云平台凭借强大的技术实力、成熟的平台架构、…

d3d导致cairo不正常
最近要把cairo集成到项目中,却发现cairo不能工作了 折腾了两天才找到了原因:cairo的一个trick导致浮点数计算错误: http://blog.163.com/lvan100yeah/blog/static/6811721420131191434556/ 给d3dcreate加上D3DCREATE_FPU_PRESERVE之后一切正常 如果我直接调cairo的代码就能早点…

青少年编程竞赛交流群周报(第038周)
2021年11月21日(周日)晚20:00我们在青少年编程竞赛交流群开展了第三十八期直播活动。 一、直播内容 我们直播活动的主要内容如下: 讲解了上次测试中小朋友们做错的题目 Scratch青少年编程能力等级测试模拟题(四级)。…

php的遍历方法,PHP数组遍历方法总结
在PHP中数组分为两类: 数字索引数组和关联数组。其中数字索引数组和C语言中的数组一样,下标是为0,1,2…而关联数组下标可能是任意类型,与其它语言中的hash,map等结构相似。下面介绍PHP中遍历关联数组的三种…

二、Silverlight中使用MVVM(二)——提高
在第一篇文章中的示例中,我们已经简单的了解了应用MVVM模式的流程,我的本意是你已经了解了一点MVVM的概念,然后又没有一个较好的例子学习,可以跟着我一起学习MVVM模式,所以这个部分,都是没有理论知识的&…

中国电子学会青少年编程能力等级测试图形化四级编程题:太空大战
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100,小马老…

Pycharm开发环境设置与熟悉。
练习基本输入输出: print(你好,{}..format(name)) print(sys.argv) 库的使用方法: import ... from ... import ... 条件语句: if (abs(pos()))<1: break 循环语句: for i in range(5): while True: 函数定义: def …

oracle 默认表空间 10g,Oracle10g 表空间管理
1.表空间分类:(1)临时表空间:存放临时数据(2)数据表空间:又称为用户表空间,用来存放永久数据(不删除永久存在)(3)日志表空间:用来存放日志信息一般情况下,用户使用时只需要创建数据表空间即可,根…

POJ1022 Packing Unit 4D Cubes
题目来源:http://poj.org/problem?id1022 题目大意: 有一些4维的单位体积的立方体盒子,每个立方体有8个面。要用一个大的4为盒子将它们包起来,求最小的大盒子体积。 输入:第一行为测试用例数。每个用例的第一行为单位…

中国电子学会青少年编程能力等级测试图形化三级编程题:海底寻宝
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100,小马老…