Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Meratakan Tatasusunan Berkunci Berangka Berbilang Dimensi dalam PHP?

Bagaimanakah Saya Boleh Meratakan Tatasusunan Berkunci Berangka Berbilang Dimensi dalam PHP?

Susan Sarandon
Lepaskan: 2024-12-02 02:54:09
asal
884 orang telah melayarinya

How Can I Flatten a Multidimensional Numeric-Keyed Array in PHP?

Meratakan Tatasusunan Berbilang Dimensi kepada Satu Dimensi

Menubah tatasusunan berbilang dimensi kepada tatasusunan satu dimensi boleh memberikan cabaran, terutamanya apabila tatasusunan asal hanya mengandungi kekunci angka. Tidak seperti pendekatan lain yang menampung kekunci yang berbeza-beza, soalan ini secara khusus menangani keperluan untuk meratakan tatasusunan berbilang dimensi dengan kekunci berangka mudah.

Penyelesaian:

Penyelesaian kepada masalah ini terletak pada menggunakan fungsi array_reduce() bersama array_merge() dan tatasusunan kosong sebagai hujah awal. Ini secara berkesan menggabungkan semua sub-tatasusunan secara rekursif ke dalam tatasusunan leper tunggal.

Kod:

array_reduce($array, 'array_merge', array())
Salin selepas log masuk

Penjelasan:

  • array_reduce() secara berulang menggunakan fungsi yang ditentukan pengguna (array_merge dalam kes ini) kepada elemen tatasusunan, bersama-sama dengan nilai awal yang ditentukan (array()).
  • array_merge menggabungkan elemen semasa (sub-array) dengan hasil rata yang diperolehi setakat ini.
  • Tatasusunan kosong sebagai hujah awal berfungsi sebagai titik permulaan untuk penggabungan rekursif proses.

Contoh:

Pertimbangkan tatasusunan berbilang dimensi berikut:

$array = array(
    array(1, 2, 3),
    array(4, 5, 6)
);
Salin selepas log masuk

Menggunakan penyelesaian merata:

$flattenedArray = array_reduce($array, 'array_merge', array());
Salin selepas log masuk

$flattenedArray yang terhasil akan jadilah:

array(1, 2, 3, 4, 5, 6)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meratakan Tatasusunan Berkunci Berangka Berbilang 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan