日常bug(1)
今天在写写代码的时候,前端找我,说我写的一个接口有可能有问题。导致前端的数据不能正常显示,我去看了一下,确实不能正常显示。问题的原因是本来前端循环遍历一个json里的数组,但是接下来的数据变成对象了。好,接下来上代码。
$arr = [
0=>'a',
1=>'b',
2=>'c',
3=>'d',
];
$add = [
5=>'e',
6=>'f',
7=>'g',
];
$list = [];
// 业务方面需要将数据追加进去
array_push($list, $arr);
array_push($list, $add);
echo '<pre>';
print_r($list);
代码没什么特别的,结果没有意外,当然是个二维数组,结果:

但是,我需要返回的是json格式的数据,代码:
$arr = [
0=>'a',
1=>'b',
2=>'c',
3=>'d',
];
$add = [
5=>'e',
6=>'f',
7=>'g',
];
$list = [];
// 业务方面需要将数据追加进去
array_push($list, $arr);
array_push($list, $add);
echo '<pre>';
// print_r($list);
var_dump(json_encode($list));
打印结果:

结果是,第二个数组变成了对象。最后发现最终的原因,是第二个数组的下标,不是从0开始的,才会导致第二个数组在转为json时,会变成对象。最后修改了第二组数据的下标,结果也都变成了正常的数组。
日常bug(1)的更多相关文章
- 日常Bug排查-系统失去响应-Redis使用不当
日常Bug排查-系统失去响应-Redis使用不当 前言 日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材_. Bug现场 开发反应线上系统出现失去响 ...
- 日常Bug排查-消息不消费
日常Bug排查-消息不消费 前言 日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材_. Bug现场 某天下午,在笔者研究某个问题正high的时候.开 ...
- 日常Bug排查-抛异常不回滚
日常Bug排查-抛异常不回滚 前言 日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材_. Bug现场 最近有人反映java应用操作数据库的时候,抛异 ...
- 日常Bug排查-Nginx重复请求?
日常Bug排查-Nginx重复请求? 前言 日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,其中不乏一些看起来很低级但很容易犯的问题. 问题现场 有一天运维突然找到 ...
- 日常bug及解决方法记录
工作中经常会遇到一些Bug,时间长了有时候就忘记了,这样不好. 特地在这加一个随笔,把以后出现的有价值一点的bug记录在这里,提醒自己,也可以给刚入门的同学一些参考,避免这些坑. 1:界面已经销毁,代 ...
- hibernate日常BUG总结
在使用hibernate自动生产表的时候失败, 是配置文件我是从别地方拷贝过来忘记更改,所以报了这个错误. 重新命名了生成表的名称,问题解决! 问题很明显,自动增长的主键应该使用整型. 这里写的是St ...
- 日常bug整理--xxtz
2017-12-12 建SQLite数据库表时,遇到外键关联报错:foreign key mismatch 解决:发现是个粗心问题,关联的外键没有作为主键,原因是关联的外键由INT改为varchar字 ...
- SQLServer日常bug记录
问题1:如下图所示 原因分析:同时操作数据库中的两条数据引起的 解决方法:新建查询语句 delete 数据库名字.表名 where 引起错误的字段=引起错误的字段值
- Python日常Bug集
1.TypeError: 'int' object is not iterable: 场景示例: data = 7 for i in data: print(i) # 原因:直接对int数据进行迭代造 ...
随机推荐
- allure与junit结合生成漂亮的demo
1.allure安装 环境配置可参考https://blog.csdn.net/huggh/article/details/90905845,且博客中也分享了官网的案例https://github.c ...
- Houdini Python开发实战 课程笔记
P2 + P3 + P4 + P5 - 基础: 1. Houdini中使用Python的地方 2. Textport:可使用cd.ls等路径操作的命令(命令前加%,可在python中使用) 3. So ...
- 【Spring Boot学习之四】Spring Boot事务管理
环境 eclipse 4.7 jdk 1.8 Spring Boot 1.5.2 一.springboot整合事务事务分类:编程事务.声明事务(XML.注解),推荐使用注解方式,springboot默 ...
- 修改mysql max_allowed_packet 配置
1:当前默认配置 mysql> show VARIABLES like '%max_allowed_packet%';+--------------------------+---------- ...
- CentOS7-Docker 搭建Maven私服
使用Docker搭建Maven私服 前言本文主要介绍,使用Docker创建一个nexus私服,然后编写一个Library,上传到私服,然后使用demo工程依赖. 本文不对Maven.Nexus.私服等 ...
- fineui整合kindeditor的例子
如果看不清: http://fineui.com/bbs/forum.php?mod=viewthread&tid=6683 注意:高于fineui v4.2.0的版本kindeditor ...
- [转帖]期待下一个十年|CIS 2019温馨回顾(附PPT下载)
期待下一个十年|CIS 2019温馨回顾(附PPT下载) https://www.freebuf.com/fevents/222236.html shidongqi2019-12-06共26587人围 ...
- Robot Arms AtCoder - 4432 (构造)
大意: 给定平面上$n$个点$(x_i,y_i)$. 要求构造一个序列$d$, $d_i$表示每步走的距离, 再构造$n$个命令串, 要求从原点出发按照第$i$个命令走, 走完恰好到达$(x_i,y_ ...
- 小米9安装charles证书
一.打开你 mac 中对应的 charles 二.点击右上角的help按钮,打开帮助弹窗 三.点击帮助弹窗中的SSL Proxying,选择save charles root certificatio ...
- C# 调用 C++ dll的两种方式
目录: 1.非托管方式 2.托管方式 3.介绍 extern "C" 4.介绍 DllImport 1.非托管方式 第一种,非托管方式:调用类和方法https://www.co ...