首页 > 后端开发 > php教程 > 如何按机器名称将 2D PHP 数组分组为 3D 数组?

如何按机器名称将 2D PHP 数组分组为 3D 数组?

DDD
发布: 2024-12-09 20:31:14
原创
364 人浏览过

How to Group a 2D PHP Array into a 3D Array by Machine Name?

如何在 PHP 中将 2D 数组转换为 3D 数组

您有一个现有的 2D 数组,其中包含不同机器的作业信息。任务是将此数组转换为 3D 数组,按机器名称分组。

所需的输出是一个 3D 数组,其中键是机器名称,每个机器名称包含一个作业记录数组。作业记录包含以下字段:

Job_Name
Quantity
Start_Date
Completion_Date
Labor
登录后复制

PHP 代码解决方案:

要将 2D 数组转换为 3D 数组,可以使用以下 PHP代码:

$result = [];
foreach ($MainArray as $record) {
    $result[$record['Machine_Name']][] = $record;
}
登录后复制

解释:

foreach 循环遍历 $MainArray 中的每条记录。对于每条记录,它都会检查 Machine_Name 字段,并将该记录添加到 $result 数组中相应的机器数组中。

如果机器名称不作为 $result 数组中的键存在,则会创建它并记录将添加到该键下的数组中。

示例:

给出以下内容$MainArray:

[0] => [
    'Job_Name' => 'WXYZ',
    'Quantity' => 1000,
    'Machine_Name' => 'Machine1',
    'Start_Date' => '2014-07-30 00:00:00',
    'Completion_Date' => '2014-08-02 00:00:00',
    'Labor' => 4
]
[1] => [
    'Job_Name' => 'ABCD',
    'Quantity' => 1500,
    'Machine_Name' => 'Machine2',
    'Start_Date' => '2014-08-08 00:00:00',
    'Completion_Date' => '2014-08-14 00:00:00',
    'Labor' => 2
]
[2] => [
    'Job_Name' => 'BCDA',
    'Quantity' => 1200,
    'Machine_Name' => 'Machine1',
    'Start_Date' => '2014-08-02 00:00:00',
    'Completion_Date' => '2014-08-07 00:00:00',
    'Labor' => 1
]
登录后复制

$result 数组的输出将是:

[Machine1] => [
    [
        'Job_Name' => 'WXYZ',
        'Quantity' => 1000,
        'Start_Date' => '2014-07-30 00:00:00',
        'Completion_Date' => '2014-08-02 00:00:00',
        'Labor' => 4
    ],
    [
        'Job_Name' => 'BCDA',
        'Quantity' => 1200,
        'Start_Date' => '2014-08-02 00:00:00',
        'Completion_Date' => '2014-08-07 00:00:00',
        'Labor' => 1
    ]
]
[Machine2] => [
    [
        'Job_Name' => 'ABCD',
        'Quantity' => 1500,
        'Start_Date' => '2014-08-08 00:00:00',
        'Completion_Date' => '2014-08-14 00:00:00',
        'Labor' => 2
    ]
]
登录后复制

这个新的 3D 数组可用于访问按机器名称分组的作业记录。

以上是如何按机器名称将 2D PHP 数组分组为 3D 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板