Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tukar tatasusunan dua dimensi php kepada tatasusunan satu dimensi

Tukar tatasusunan dua dimensi php kepada tatasusunan satu dimensi

王林
王林asal
2023-05-19 13:31:381506semak imbas

Dengan perkembangan Internet, pembangunan web telah menarik lebih banyak perhatian. Salah satu bahasa pengaturcaraan yang paling biasa digunakan ialah PHP, yang digunakan secara meluas untuk menulis halaman web dan berinteraksi dengan pangkalan data. Dalam PHP, tatasusunan ialah jenis data yang sangat penting, yang sering digunakan untuk menyimpan berbilang nilai berkaitan. Dalam pembangunan sebenar, kita selalunya perlu menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi untuk memudahkan pemprosesan data berkaitan. Dalam artikel ini, kami akan memperkenalkan cara menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi dalam PHP.

1. Gunakan gelung foreach

Dalam PHP, anda boleh menggunakan pernyataan foreach untuk menggelungkan setiap elemen dalam tatasusunan dan kemudian menambahnya pada tatasusunan baharu. Berikut ialah contoh kod:

$two_dimensional_array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);
$one_dimensional_array = array();

foreach ($two_dimensional_array as $array) {
    foreach ($array as $value) {
        $one_dimensional_array[] = $value;
    }
}

print_r($one_dimensional_array);

Dalam kod, kami mula-mula mentakrifkan tatasusunan dua dimensi $two_dimensional_array, yang mengandungi 3 sub-array. Seterusnya, kami mentakrifkan tatasusunan kosong $one_dimensional_array untuk menyimpan tatasusunan satu dimensi yang ditukar terakhir.

Seterusnya, kami menggunakan gelung foreach dua peringkat untuk melelaran melalui setiap elemen dalam tatasusunan dua dimensi. Dalam gelung dalam, kami menambah setiap elemen kepada $one_dimensional_array. Akhir sekali, kami menggunakan fungsi print_r untuk mengeluarkan tatasusunan satu dimensi yang ditukar.

2. Gunakan fungsi array_merge

Selain menggunakan gelung foreach, kita juga boleh menggunakan fungsi array_merge terbina dalam PHP untuk menggabungkan berbilang tatasusunan menjadi satu tatasusunan. Berikut ialah kod sampel:

$two_dimensional_array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

$one_dimensional_array = call_user_func_array('array_merge', $two_dimensional_array);

print_r($one_dimensional_array);

Dalam kod, kami menghantar tatasusunan dua dimensi $two_dimensional_array sebagai parameter kepada fungsi array_merge dan menggunakan fungsi call_user_func_array untuk memanggilnya. Fungsi array_merge menggabungkan semua subarray ke dalam tatasusunan tunggal dan mengembalikan hasil gabungan. Akhir sekali, kami menggunakan fungsi print_r untuk mengeluarkan tatasusunan satu dimensi yang ditukar.

3. Gunakan fungsi array_reduce

Selain daripada dua kaedah di atas, kita juga boleh menggunakan fungsi array_reduce terbina dalam PHP untuk melintasi setiap elemen dalam tatasusunan dua dimensi dan menambahnya pada a dalam tatasusunan baharu. Berikut ialah kod sampel:

$two_dimensional_array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

$one_dimensional_array = array_reduce($two_dimensional_array, 'array_merge', array());

print_r($one_dimensional_array);

Dalam kod, kami menghantar tatasusunan dua dimensi $two_dimensional_array sebagai parameter pertama kepada fungsi array_reduce. Parameter kedua ialah fungsi panggil balik yang menggabungkan setiap subarray ke dalam tatasusunan tunggal. Parameter terakhir ialah tatasusunan kosong yang digunakan untuk menyimpan tatasusunan satu dimensi yang ditukar terakhir.

Ringkasan

Artikel ini memperkenalkan tiga kaedah untuk menukar tatasusunan dua dimensi PHP kepada tatasusunan satu dimensi. Mereka menggunakan gelung foreach, fungsi array_merge dan fungsi array_reduce masing-masing. Kaedah ini sangat mudah dan mudah difahami, dan boleh memenuhi keperluan kami untuk pemprosesan tatasusunan dalam pembangunan sebenar.

Atas ialah kandungan terperinci Tukar tatasusunan dua dimensi php kepada tatasusunan satu dimensi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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