Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mengubah Tatasusunan PHP 2D menjadi Tatasusunan 3D Berdasarkan Nilai Kunci?

Bagaimana untuk Mengubah Tatasusunan PHP 2D menjadi Tatasusunan 3D Berdasarkan Nilai Kunci?

Linda Hamilton
Lepaskan: 2024-12-18 00:43:10
asal
784 orang telah melayarinya

How to Transform a 2D PHP Array into a 3D Array Based on a Key's Value?

Mencipta Tatasusunan Berbilang Dimensi daripada Tatasusunan Sedia Ada dalam PHP

Dalam PHP, adalah mungkin untuk mencipta tatasusunan multidimensi baharu berdasarkan tatasusunan sedia ada . Berikut ialah cara untuk mencapai transformasi khusus yang anda nyatakan dalam soalan anda:

Tukar tatasusunan 2D berikut:

$MainArray = 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
    ],
    [
        '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
    ],
    [
        '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
    ]
);
Salin selepas log masuk

Ke dalam tatasusunan 3D berikut:

$ConvertedArray = array(
    'Machine1' => array(
        [
            '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' => 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
        ]
    )
);
Salin selepas log masuk

Penyelesaian:

Gunakan PHP berikut kod:

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

Kod ini berulang melalui $MainArray dan untuk setiap rekod, menambahkannya pada tatasusunan $result, menggunakan nilai kekunci 'Machine_Name' sebagai indeks. Ini menghasilkan penciptaan tatasusunan 3D yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Tatasusunan PHP 2D menjadi Tatasusunan 3D Berdasarkan Nilai Kunci?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan