Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengubah Tatasusunan PHP 2D kepada Tatasusunan 3D Berdasarkan Nilai Lajur?

Bagaimanakah Saya Boleh Mengubah Tatasusunan PHP 2D kepada Tatasusunan 3D Berdasarkan Nilai Lajur?

Patricia Arquette
Lepaskan: 2024-12-10 07:36:09
asal
279 orang telah melayarinya

How Can I Transform a 2D PHP Array into a 3D Array Based on a Column's Values?

Mencipta Tatasusunan Baharu daripada Tatasusunan Sedia Ada dalam PHP

Seorang pengguna menghadapi cabaran semasa cuba mengubah tatasusunan 2 dimensi ($MainArray) menjadi 3- tatasusunan dimensi ($ConvertedArray). Pengguna bertujuan untuk mengumpulkan kerja berdasarkan nama mesin mereka dan mengekalkan kunci asal mereka.

Penyelesaian

Penyelesaian kepada cabaran ini terletak pada penggunaan fungsi PHP yang dipanggil array_column. Fungsi ini membolehkan anda mengekstrak lajur tertentu daripada tatasusunan berbilang dimensi. Begini cara untuk menggunakannya dalam kes ini:

$machineNames = array_column($MainArray, 'Machine_Name');
$uniqueMachines = array_unique($machineNames);

$ConvertedArray = [];
foreach ($uniqueMachines as $machineName) {
    $ConvertedArray[$machineName] = array_filter($MainArray, function ($job) use ($machineName) {
        return $job['Machine_Name'] === $machineName;
    });
}
Salin selepas log masuk

Kod ini mencapai transformasi yang diingini dengan mengulangi nama mesin yang unik dan mengumpulkan kerja yang sewajarnya ke dalam $ConvertedArray. Hasilnya ialah tatasusunan baharu dengan nama mesin sebagai kunci dan tatasusunan kerja berkaitan sebagai nilai.

Pelaksanaan

Kod yang disediakan boleh dilaksanakan dengan mudah dalam skrip PHP anda untuk mencapai output yang diingini. Tatasusunan asal dan ditukar boleh dicetak untuk pengesahan:

echo '<pre class="brush:php;toolbar:false">';
print_r($MainArray);
echo '
'; echo '
';
print_r($ConvertedArray);
echo '
';
Salin selepas log masuk

Ini akan mengeluarkan tatasusunan 2 dimensi asal dan tatasusunan 3 dimensi yang baru dibuat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Tatasusunan PHP 2D kepada Tatasusunan 3D Berdasarkan Nilai Lajur?. 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