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