>백엔드 개발 >PHP 튜토리얼 >2D PHP 배열을 컴퓨터 이름별로 3D 배열로 그룹화하는 방법은 무엇입니까?

2D PHP 배열을 컴퓨터 이름별로 3D 배열로 그룹화하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-09 20:31:14359검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.