Bagaimana untuk menukar tatasusunan bersekutu kepada tatasusunan dua dimensi dalam php

PHPz
Lepaskan: 2023-04-12 14:19:17
asal
626 orang telah melayarinya

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');
Salin selepas log masuk

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);
Salin selepas log masuk

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;
}
Salin selepas log masuk

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan