PHP 中合并数组,构建企业月度收入数据结构

php 中合并数组,构建企业月度收入数据结构

本文旨在指导开发者如何使用 PHP 将从数据库查询到的企业月度收入数据,转换成易于前端处理的 JSON 格式。通过循环遍历和数组操作,将企业名称和对应的月度收入数据合并到一个数组中,并最终生成符合预期的 JSON 结构,方便数据展示和分析。

在 PHP 开发中,经常需要处理从数据库查询返回的数据,并将其转换成特定的格式。本文将以一个实际场景为例,讲解如何将企业月度收入数据从原始的数组结构转换成前端友好的 JSON 格式。

理解数据结构转换的目标

假设我们从数据库查询得到如下格式的企业月度收入数据:

$array = [    [        'fecha' => '2021-01-08',        'ingresosTotal' => '158181.17',    ],     [        'fecha' => '2021-02-05',        'ingresosTotal' => '781595.14',    ],    [        'fecha' => '2021-03-05',        'ingresosTotal' => '345094.65',    ],    [        'fecha' => '2021-04-09',        'ingresosTotal' => '166694.76',    ],    [        'fecha' => '2021-05-26',        'ingresosTotal' => '155874.65',    ],    [        'fecha' => '2021-06-04',        'ingresosTotal' => '159801.81',    ],    [        'fecha' => '2021-07-02',        'ingresosTotal' => '161689.9',    ],];

我们的目标是将上述数据转换成如下 JSON 格式:

立即学习“PHP免费学习笔记(深入)”;

{    "empresa": "empresa ejemplo 1",    "January": "158181.17",    "February": "781595.14",    "March": "345094.65",    "April": "166694.76",    "May": "155874.65",    "June": "159801.81",    "July": "161689.9"}

实现数据转换的 PHP 代码

以下 PHP 代码实现了上述数据结构转换:

 '2021-01-08',        'ingresosTotal' => '158181.17',    ],     [        'fecha' => '2021-02-05',        'ingresosTotal' => '781595.14',    ],    [        'fecha' => '2021-03-05',        'ingresosTotal' => '345094.65',    ],    [        'fecha' => '2021-04-09',        'ingresosTotal' => '166694.76',    ],    [        'fecha' => '2021-05-26',        'ingresosTotal' => '155874.65',    ],    [        'fecha' => '2021-06-04',        'ingresosTotal' => '159801.81',    ],    [        'fecha' => '2021-07-02',        'ingresosTotal' => '161689.9',    ],];$empresa = 'empresa ejemplo 1';$fechas = [];$fechas['empresa'] = $empresa;foreach ($array as $value) {    $fecha = strftime("%B", strtotime( $value['fecha'] ));    $fechas[$fecha] = $value['ingresosTotal'];}echo json_encode($fechas, JSON_PRETTY_PRINT);?>

代码解释:

初始化数据: $array 模拟从数据库查询得到的企业月度收入数据。$empresa 定义企业名称。创建目标数组: $fechas 用于存储最终转换后的数据,首先将企业名称赋值给 $fechas[’empresa’]。循环遍历: 使用 foreach 循环遍历 $array 数组,获取每个月的收入数据。格式化日期: 使用 strftime(“%B”, strtotime( $value[‘fecha’] )) 将日期格式化为月份名称(例如:January, February)。赋值收入: 将格式化后的月份名称作为键,收入金额作为值,赋值给 $fechas 数组。生成 JSON: 使用 json_encode($fechas, JSON_PRETTY_PRINT) 将 $fechas 数组转换为 JSON 格式,JSON_PRETTY_PRINT 参数用于格式化 JSON 输出,使其更易于阅读。

注意事项

日期格式: strftime 函数依赖于系统的 locale 设置,确保 locale 设置正确,以避免月份名称显示错误。 可以使用 setlocale(LC_ALL, ‘en_US.UTF-8’); 设置locale。错误处理: 在实际应用中,应该添加错误处理机制,例如检查数据库查询是否成功,以及 $value[‘fecha’] 是否存在。性能优化: 如果需要处理大量数据,可以考虑使用生成器(Generator)来优化内存使用。编码: 确保PHP文件的编码是UTF-8,避免中文乱码问题。

总结

通过本文,我们学习了如何使用 PHP 将企业月度收入数据从原始的数组结构转换成前端友好的 JSON 格式。 掌握了循环遍历、数组操作和 JSON 编码等关键技术。 在实际开发中,可以根据具体需求,灵活运用这些技术,构建各种复杂的数据结构。

以上就是PHP 中合并数组,构建企业月度收入数据结构的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1292751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
解决Laravel中Auth::user()返回null:正确利用框架认证机制
上一篇 2025年12月11日 08:31:40
Doctrine ORM 中使用 BINARY 进行大小写敏感查询的教程
下一篇 2025年12月11日 08:31:51

相关推荐

  • mysql如何输入批量插入 mysql写多条insert代码教程

    mysql如何输入批量插入 mysql写多条insert代码教程mysql如何输入批量插入 mysql写多条insert代码教程mysql如何输入批量插入 mysql写多条insert代码教程mysql如何输入批量插入 mysql写多条insert代码教程

    mysql批量插入数据有四种主要方式。1.单条insert多值插入,语法简单但可能超包限制且全失败风险高;2.多条insert加事务,减少交互次数但占用资源多;3.load data infile性能最好,需处理文件权限及转义;4.编程语言批量功能灵活处理数据但需额外编码。选择依据为:小数据用多值i…

    2026年9月22日 用户投稿
    200
  • VSCode安装C/C++插件 小白必备VSCode配置C语言教程

    安装C/C++插件并配置MinGW编译器,通过tasks.json和launch.json文件设置编译调试任务,可使VSCode支持C语言开发;若插件异常,需检查环境变量、文件路径及语法,必要时重启或重装;中文乱码可通过设置UTF-8编码、使用集成终端或程序内setlocale解决;远程开发需配合R…

    2026年9月22日
    100
  • linux系统下codeblocks控制台打印中文乱码[通俗易懂]

    linux系统下codeblocks控制台打印中文乱码[通俗易懂]linux系统下codeblocks控制台打印中文乱码[通俗易懂]linux系统下codeblocks控制台打印中文乱码[通俗易懂]linux系统下codeblocks控制台打印中文乱码[通俗易懂]

    大家好,很高兴再次和大家见面,我是你们的朋友全栈君。 在Linux系统下使用CodeBlocks时,如果在控制台中打印中文可能会遇到乱码问题。以下是解决这一问题的详细步骤: 首先,我们来看一下在Linux系统下安装CodeBlocks后,运行以下代码时出现的问题: #include #include…

    2026年9月22日 用户投稿
    600
  • VSCode高效配置Node.js:npm集成、中文报错、断点调试

    答案:高效配置VSCode与Node.js需确保Node.js和npm为最新版,利用集成终端运行命令,通过jsconfig.json或tsconfig.json优化项目配置,解决中文乱码需设置终端编码为UTF-8并选择支持中文的字体,调试核心是正确配置launch.json文件,使用pwa-node…

    2026年9月22日
    500
  • VSCode精简配置Git:中文提交记录、分支可视化、冲突解决

    首先解决中文乱码需配置Git和VSCode编码为UTF-8,其次通过GitLens或Git Graph实现分支可视化,最后利用VSCode内置的冲突解决工具高效处理合并冲突,全面提升Git使用体验。 在VSCode里用Git,我总觉得能再顺手点。特别是处理中文提交信息、想直观看看分支图,或者面对恼人…

    2026年9月22日
    600
  • 如何在Laravel中实现数据导出

    在laravel中实现数据导出,核心思路是根据具体需求选择合适方法。1. 使用maatwebsite/laravel-excel处理excel或csv导出;2. 通过队列优化大量数据导出性能;3. 结合分块读取降低内存占用;4. 利用lazy collections控制内存使用;5. 支持多种格式如…

    2026年9月20日
    000
  • 如何配置VSCode的自动识别文件编码?

    开启files.autoGuessEncoding是关键,可提升VSCode对GBK等编码的识别能力;配合设置默认编码为utf8、手动重新打开乱码文件并选择正确编码(如GBK),能有效解决中文乱码问题。 VSCode 默认能自动识别大多数常见编码的文件,比如 UTF-8、GBK、ISO-8859-1…

    2026年9月12日
    000
  • 在Java中如何开发简易新闻发布系统

    用Java做简易新闻发布系统,核心是理清用户、新闻和后台管理的交互逻辑。重点在于搭建基础环境、设计必要数据表,并实现增删改查功能。只要掌握Servlet和JSP的基本用法,配合数据库操作,就能快速做出一个可运行的原型。准备开发环境与项目结构开始前先配置好基础运行环境,确保代码能顺利执行。安装JDK并…

    2026年9月11日
    100
  • 如何在Linux中挂载CIFS/SMB共享?

    要挂载CIFS/SMB共享,需安装cifs-utils、创建挂载点并使用mount命令连接;Ubuntu/Debian用apt,CentOS/RHEL/Fedora用yum或dnf安装工具,创建/mnt/share等挂载目录,临时挂载执行sudo mount -t cifs //IP/share /…

    2026年9月8日
    400
  • linux下中文乱码问题解决方案汇总

    刚开始学习和使用linux系统的时候,大家都会遇到一个问题,那就是终端输入命令回显的时候中文显示乱码。其实乱码这个问题是由系统集成的字符集引起的,由于不能正确的使用相对应字符的字符集,因此os不能识别出文字导致了乱码。如果你需要在linux中操作windows下的文件,那么你可能会经常遇到文件编码转…

    2026年9月7日
    100
  • VSCode语言怎么输入数据_VSCode调试时交互式数据输入教程

    答案:配置launch.json的console为integratedTerminal可实现调试时交互输入,中文乱码需确保UTF-8编码和正确locale,自动输入推荐从文件读取,多文件调试可通过compounds配置多进程。 VSCode调试时交互式数据输入,其实就是让你的程序在调试过程中能像正常…

    2026年9月7日
    300
  • VSCode怎么建立JSP文件_VSCode创建和编辑JSP页面文件教程

    答案:在VSCode中创建和编辑JSP文件需安装Java Extension Pack和XML Language Support扩展,配置Java SDK及Maven/Gradle项目,添加servlet-api和jsp-api依赖,创建JSP文件后通过外部Tomcat等服务器部署,并可借助Tomc…

    2026年9月6日
    300
  • mysql中插入表数据中文乱码怎么办

    mysql中插入表数据中文乱码怎么办mysql中插入表数据中文乱码怎么办mysql中插入表数据中文乱码怎么办mysql中插入表数据中文乱码怎么办

    mysql中插入表数据中文乱码的解决办法:1、检查本地mysql安装文件目录的默认编码方式是否是utf8;2、启动mysql服务,输入相关命令将默认数据库表的字符集编码改为utf8;3、重启服务即可。 本教程操作环境:windows7系统、mysql8.0.22版,DELL G3电脑。 mysql中…

    2026年9月5日 用户投稿
    300
  • VSCode怎么写CSS文件_VSCode编写和预览CSS样式表详细教程

    VSCode怎么写CSS文件_VSCode编写和预览CSS样式表详细教程VSCode怎么写CSS文件_VSCode编写和预览CSS样式表详细教程VSCode怎么写CSS文件_VSCode编写和预览CSS样式表详细教程VSCode怎么写CSS文件_VSCode编写和预览CSS样式表详细教程

    首先新建.css文件并编写样式,通过链接HTML或使用Live Server插件实时预览;推荐使用CSS Peek、IntelliSense、Prettier等插件提升效率;调试可借助浏览器开发者工具,大型项目建议采用Sass、BEM命名和模块化管理。 VSCode编写CSS文件,简单来说,就是新建…

    2026年9月3日 用户投稿
    300
  • Linux操作系统安装字体笔记

    对于从事java开发的朋友们来说,了解如何在linux服务器上部署应用至关重要。linux服务器因其成本低、运行稳定而受到青睐。然而,当在linux系统上生成包含中文字符的pdf文档时,常常会遇到乱码问题。这通常是因为服务器缺少相应的中文字体所致。今天,小编将分享在linux操作系统上安装中文字体的…

    2026年8月30日
    1600
  • Oracle字符集检查和修改

    在部署oracle数据库重构版测试环境时,若未正确设置数据库字符集,可能导致后续脚本执行中文乱码。最终解决方案是清除所有数据,修改字符集,并重启数据库。 1、Oracle字符集概述 系统或程序运行的环境通常称为locale。设置数据库locale的最简单方法是通过设置NLS_LANG环境参数。在Li…

    2026年8月28日
    100
  • java中文乱码问题 乱码产生原因和修复方案

    java 中文乱码问题主要由字符编码不一致导致,修复方法包括确保系统编码一致性和正确处理编码转换。1. 统一使用 utf-8 编码,从文件到数据库和程序。2. 读取文件时明确指定编码,如使用 bufferedreader 和 inputstreamreader。3. 设置数据库字符集,如 mysql…

    2026年8月26日
    100
  • java中文乱码怎么解决 中文编码问题的排查与修复

    %ignore_a_1%是由于字符编码不一致导致的。解决方法包括:1. 源代码编码设置为utf-8;2. 编译时使用-encoding参数指定utf-8;3. 运行时设置系统属性file.encoding为utf-8;4. 数据库和web应用编码设置为utf-8。 解决Java中文乱码问题是每个开发…

    2026年8月26日
    100
  • java中文乱码在线转换 在线工具解决编码问题

    java中文乱码可以通过在线工具解决。1) 使用编码转换工具如convertio,将文件从一种编码转换为另一种。2) 使用编码检测工具如fileformat.info,识别未知编码的文件。3) 统一编码标准,使用版本控制和定期检查,确保编码一致性。 提到Java中文乱码在线转换和解决编码问题,我们首…

    2026年8月26日
    100
  • Java中FTP怎么操作 详解FTP客户端实现

    Java中FTP怎么操作 详解FTP客户端实现Java中FTP怎么操作 详解FTP客户端实现Java中FTP怎么操作 详解FTP客户端实现Java中FTP怎么操作 详解FTP客户端实现

    java中操作ftp的解决方案是使用apache commons net库。1.首先在maven或gradle项目中引入commons-net依赖;2.通过ftpclient类实现连接、上传、下载和删除文件等操作;3.建立连接时需指定服务器地址、端口、用户名和密码,并设置二进制传输模式及被动模式;4…

    2026年8月26日 用户投稿
    000

发表回复

登录后才能评论
关注微信