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

碧海醫心
发布: 2025-08-25 21:52:26
原创
451人浏览过

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 编码等关键技术。 在实际开发中,可以根据具体需求,灵活运用这些技术,构建各种复杂的数据结构。

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

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号