Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menstrukturkan Semula Tatasusunan PHP 2D menjadi Tatasusunan 3D mengikut Mesin dan Pekerjaan yang Dipesan?
Menstrukturkan Semula Tatasusunan Berbilang Dimensi dalam PHP
Dalam pertanyaan yang diberikan, matlamatnya adalah untuk mengubah tatasusunan 2D menjadi tatasusunan 3D di mana setiap elemen mewakili mesin dan mengandungi tugas berkaitannya yang disusun dalam tertib menaik berdasarkan kunci asalnya. Begini cara ini boleh dicapai dalam PHP:
Kami bermula dengan memulakan tatasusunan kosong yang dipanggil $result yang akan menyimpan data yang disusun semula. Kemudian, kami mengulangi tatasusunan asal, $MainArray, menggunakan gelung foreach.
Untuk setiap rekod dalam $MainArray, kami mengekstrak nilai Machine_Name dan menggunakannya sebagai kunci untuk sub-array dalam $result. Jika entri untuk mesin itu tidak wujud dalam $result, ia akan dibuat dengan tatasusunan kosong.
Kami kemudiannya menambahkan rekod semasa pada sub-tatasusunan yang dikaitkan dengan Machine_Name. Ini secara berkesan mengumpulkan semua kerja yang berkaitan dengan mesin yang sama bersama-sama.
Untuk memastikan kerja disusun dalam susunan yang diingini, kami mengisih setiap sub-tatasusunan dalam tertib menaik bagi kunci asal menggunakan fungsi ksort. Hasilnya disimpan semula ke dalam tatasusunan $result.
Kod di bawah menunjukkan proses ini:
$result = []; foreach ($MainArray as $record) { $result[$record['Machine_Name']][] = $record; } foreach ($result as $machine => $jobs) { ksort($result[$machine]); }
Kod ini akan menghasilkan tatasusunan 3D, $result, di mana dimensi pertama mewakili mesin dan dimensi kedua mengandungi senarai tertib kerja yang dikaitkan dengan setiap mesin.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menstrukturkan Semula Tatasusunan PHP 2D menjadi Tatasusunan 3D mengikut Mesin dan Pekerjaan yang Dipesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!