php - 在php中从另一个数组创建一个数组

标签 php arrays

我有一个看起来像这样的数组。这是一个二维数组。

$MainArray = Array
(
    [0] => Array
        (
            [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] => Array
        (
            [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] => Array
        (
            [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
        )
 )

我想使用此信息创建一个如下所示的新 3 维数组。

$ConvertedArray = Array
(
    [Machine1] => Array
        (
            [0] => Array
               (
                  [Job_Name] => WXYZ
                  [Quantity] => 1000
                  [Start_Date] => 2014-07-30 00:00:00
                  [Completion_Date] => 2014-08-02 00:00:00
                  [Labor] => 4
               )
            [1] => Array
               (
                  [Job_Name] => BCDA
                  [Quantity] => 1200
                  [Start_Date] => 2014-08-02 00:00:00
                  [Completion_Date] => 2014-08-07 00:00:00
                  [Labor] => 1
               )
         )
      [Machine2] => Array
        (
            [0] => Array
               (
                  [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,并且该机器上没有其他作业具有更高的键,那么它将成为该作业的键 0,并使用该机器名称创建一个新键。

我非常感谢您对此的帮助。

最佳答案

使用下面的代码:-

$result = [];
foreach($MainArray as $record){
 $result[$record['Machine_Name']][] = $record;
}

关于php - 在php中从另一个数组创建一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40517019/

相关文章:

php - Phalcon Paginator 中断查询生成器查询

c - 赋值从指针生成整数,无需强制转换(C 语言。)

java显示范围内的输入

javascript - 数组正在覆盖先前的对象

java - 如何将字节数组中的数据打印为字符?

java - 从动态数组中检索元素

php - Laravel 5.1 无法识别 postgres 中的时间戳字段

PHP 访问解码后的 JSON

php - 如何防止我的网站表单被解析?

php - 使用 DOMDocument 加载包含命名空间的 HTML