当前位置: 首页 > 编程日记 > 正文

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 直接暴力 代码&#xff1a; #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<cmath> #include<set> #include<map> #include<stack> #inc…

php tab标签,JavaScript代码分享:tab标签的切换

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

二进制,十进制,十六进制

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

D3.js系列——初步使用、选择元素与绑定数据

D3 的全称是&#xff08;Data-Driven Documents&#xff09;&#xff0c;顾名思义可以知道是一个被数据驱动的文档。听名字有点抽象&#xff0c;说简单一点&#xff0c;其实就是一个 JavaScript 的函数库&#xff0c;使用它主要是用来做数据可视化的。 D3 提供了各种简单易用的…

秦州:西瓜书 + 南瓜书 吃瓜系列 12. 聚类

Datawhale南瓜书是经典机器学习教材《机器学习》&#xff08;西瓜书&#xff09;的公式推导解析指南&#xff0c;旨在让在学习西瓜书的过程中&#xff0c;再也没有难推的公式&#xff0c;学好机器学习。 航路开辟者&#xff1a;谢文睿、秦州开源内容&#xff1a;https://githu…

php 5/0,PHP 5.5.0 released.该怎么解决

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

Windows下SVN权限配置过程详解

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

胡小明:大数据应用方向思考

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

Datawhale组队学习周报(第040周)

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

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日&#xff0c;云智易作为国内领先物联网云平台&#xff0c;受邀出席“跨界融合 聚势谋远”上海CIO联盟峰会。本次大会汇聚了全球各地各行业300位精英翘楚&#xff0c;共话未来发展趋势。 在本次大会中&#xff0c;云智易物联云平台凭借强大的技术实力、成熟的平台架构、…

d3d导致cairo不正常

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

青少年编程竞赛交流群周报(第038周)

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

php的遍历方法,PHP数组遍历方法总结

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

二、Silverlight中使用MVVM(二)——提高

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

中国电子学会青少年编程能力等级测试图形化四级编程题:太空大战

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100&#xff0c;小马老…

Pycharm开发环境设置与熟悉。

练习基本输入输出&#xff1a; print(你好,{}..format(name)) print(sys.argv) 库的使用方法&#xff1a; import ... from ... import ... 条件语句&#xff1a; if (abs(pos()))<1: break 循环语句&#xff1a; for i in range(5): while True: 函数定义&#xff1a; def …

oracle 默认表空间 10g,Oracle10g 表空间管理

1.表空间分类&#xff1a;(1)临时表空间&#xff1a;存放临时数据(2)数据表空间&#xff1a;又称为用户表空间&#xff0c;用来存放永久数据(不删除永久存在)(3)日志表空间&#xff1a;用来存放日志信息一般情况下&#xff0c;用户使用时只需要创建数据表空间即可&#xff0c;根…

POJ1022 Packing Unit 4D Cubes

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

中国电子学会青少年编程能力等级测试图形化三级编程题:海底寻宝

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 我们将有关编程题目的教学视频已经发布到抖音号21252972100&#xff0c;小马老…