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 代码实现了上述数据结构转换:

<?php  $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',     ], ];  $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);  ?>

代码解释:

  1. 初始化数据: $array 模拟从数据库查询得到的企业月度收入数据。$empresa 定义企业名称。
  2. 创建目标数组: $fechas 用于存储最终转换后的数据,首先将企业名称赋值给 $fechas[’empresa’]。
  3. 循环遍历: 使用 foreach 循环遍历 $array 数组,获取每个月的收入数据。
  4. 格式化日期: 使用 strftime(“%B”, strtotime( $value[‘fecha’] )) 将日期格式化为月份名称(例如:January, February)。
  5. 赋值收入: 将格式化后的月份名称作为键,收入金额作为值,赋值给 $fechas 数组。
  6. 生成 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 编码等关键技术。 在实际开发中,可以根据具体需求,灵活运用这些技术,构建各种复杂的数据结构。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享