根据值拆分或排序多维数组?

时间:2016-11-09 22:23:59

标签: php mysql arrays multidimensional-array

下面的数组是MySQL查询返回的数据样本,用于在X区间(1周,1个月等)内到期的所有训练记录。

array [
    0 => [
        'company_id' => '10',
        'date' => '2016-11-11'
        'company' => ['name' => 'Company 1'],
        'user' => ['first_name' => 'John', 'last_name' => 'Doe'],
        'course' => ['name' => 'Course 1'],
        'department' => ['name' => 'Dep 1'],
    ],
    1 => [
        'company_id' => '11',
        'date' => '2016-11-30',
        'company' => ['name' => 'Company 2'],
        'user' => ['first_name' => 'Mark', 'last_name' => 'Smith'],
        'course' => ['name' => 'Course 1'],
        'department' => ['name' => 'Dep 1'],
    ],
    2 => [
        'company_id' => '11',
        'date' => '2016-12-07',
        'company' => ['name' => 'Company 2'],
        'user' => ['first_name' => 'Mark', 'last_name' => 'Smith'],
        'course' => ['name' => 'Course 2'],
        'department' => ['name' => 'Dep 1'],
    ]

我要做的是选择每家公司的所有记录,并向公司经理发送一封电子邮件,其中包含该公司所有培训记录的详细信息。

最好的方法是什么?

我在想的是创建一个只包含公司ID的新数组,然后循环遍历该数组,并在原始数组上为该公司的所有记录执行array_search。

我是在正确的轨道上还是我在使事情变得复杂?

我可以自己完成电子邮件的发送......我只需要将信息输入到我可以使用的数组中。

这样的事情:

$records = [
    'company_id' => '10'
    'training_details' => [
        0 => [
            'user' => 'John Doe',
            'course' => 'Course 1',
            'department' => 'Dep 1',
        ]
    ],
    'company_id' => '11'
    'training_details' => [
        0 => [
            'user' => 'Mark Smith',
            'course' => 'Course 1',
            'department' => 'Dep 1',
            'date' => '2016-11-30',
        ],
        1 => [
            'user' => 'Mark Smith',
            'course' => 'Course 2',
            'department' => 'Dep 1',
            'date' => '2016-12-07',
        ],
    ],
];

0 个答案:

没有答案