Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar tatasusunan bersekutu kepada tatasusunan dua dimensi dalam php
Tatasusunan bersekutu dalam PHP ialah struktur data yang digunakan untuk menyimpan pasangan nilai kunci. Apabila berbilang tatasusunan bersekutu perlu digabungkan untuk membentuk tatasusunan dua dimensi, tatasusunan bersekutu ini perlu ditukar kepada tatasusunan dua dimensi. Berikut ialah cara untuk menukar tatasusunan bersekutu kepada tatasusunan dua dimensi.
Pertama sekali, katakan kita mempunyai dua tatasusunan bersekutu:
$array1 = array('key1' => 'value1', 'key2' => 'value2'); $array2 = array('key1' => 'value3', 'key2' => 'value4');
Kami menggabungkan dua tatasusunan bersekutu ini bersama-sama untuk membentuk tatasusunan dengan dua elemen. Setiap elemen tatasusunan ini ialah tatasusunan bersekutu. Kodnya adalah seperti berikut:
$combinedArray = array($array1, $array2);
Sekarang, kami mempunyai tatasusunan yang mengandungi dua tatasusunan bersekutu. Walau bagaimanapun, ini bukan tatasusunan 2D yang kami mahukan. Kita perlu menukar tatasusunan ini kepada tatasusunan 2D di mana setiap elemen ialah tatasusunan dua nilai. Kodnya adalah seperti berikut:
$resultArray = array(); foreach ($combinedArray as $value) { $tempArray = array(); foreach ($value as $key => $data) { $tempArray[] = $data; } $resultArray[] = $tempArray; }
Dalam kod ini, kami mula-mula mengisytiharkan tatasusunan kosong bernama $resultArray. Kami kemudian menggunakan gelung foreach untuk lelaran ke atas tatasusunan $combinedArray yang mengandungi dua tatasusunan bersekutu. Dalam gelung foreach dalaman, kami mengulangi pasangan nilai kunci setiap tatasusunan bersekutu. Untuk setiap pasangan nilai kunci, kami menyimpan nilainya dalam tatasusunan sementara yang dipanggil $tempArray dan kemudian menambah tatasusunan sementara ini kepada $resultArray. Akhirnya, $resultArray ialah tatasusunan dua dimensi di mana setiap elemen ialah tatasusunan dua nilai.
Kaedah ini boleh mengendalikan bilangan tatasusunan bersekutu yang berbeza dengan mengubah suai gelung foreach dalam. Tidak kira berapa banyak tatasusunan bersekutu yang ada, selagi kunci mereka adalah sama, kaedah ini boleh menggabungkannya menjadi tatasusunan dua dimensi.
Perlu diambil perhatian bahawa kaedah ini hanya boleh mengendalikan tatasusunan bersekutu tanpa kunci pendua. Jika dua tatasusunan bersekutu mempunyai kunci yang sama, hanya nilai tatasusunan bersekutu terakhir disimpan. Jika anda perlu memproses tatasusunan bersekutu dengan kunci pendua, anda boleh menggunakan fungsi array_merge_recursive, yang menggabungkan nilai dengan kunci yang sama ke dalam tatasusunan.
Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan bersekutu kepada tatasusunan dua dimensi dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!