Bagaimanakah Saya Boleh Meratakan Tatasusunan Bersarang dalam PHP?

Barbara Streisand
Lepaskan: 2024-11-23 08:31:18
asal
489 orang telah melayarinya

How Can I Flatten a Nested Array in PHP?

Menukar Tatasusunan Bersarang kepada Satu Dimensi

Dalam senario pengaturcaraan ini, anda menghadapi tatasusunan yang terdiri daripada subarray elemen tunggal. Tugas di tangan ialah untuk menukar struktur berbilang dimensi ini kepada tatasusunan satu dimensi.

Pendekatan Asli PHP

PHP menyediakan fungsi yang mudah dipanggil array_map yang boleh mengendalikan penukaran ini dengan cekap. Berikut ialah contoh:

$array = [[88868], [88867], [88869], [88870]];
$oneDimensionalArray = array_map('current', $array);

// Output: [88868, 88867, 88869, 88870]
Salin selepas log masuk

Fungsi peta_susun mengambil fungsi panggil balik sebagai argumen pertama dan tatasusunan sebagai argumen kedua. Dalam kes ini, arus fungsi panggil balik mendapatkan semula elemen semasa daripada setiap subarray, dengan berkesan meratakan tatasusunan.

Generalisasi untuk Subarray Berbilang Elemen

Jika subarray mengandungi berbilang elemen, pendekatan di atas hanya akan mengembalikan elemen pertama setiap subarray. Untuk menangani senario ini, anda boleh menggunakan fungsi call_user_func_array:

$oneDimensionalArray = call_user_func_array('array_merge', $array);

// Output: [88868, 88867, 88869, 88870]
Salin selepas log masuk

Fungsi call_user_func_array memanggil fungsi panggil balik dengan tatasusunan argumen, dalam kes ini, tatasusunan subarray. Fungsi array_merge menggabungkan semua elemen ke dalam tatasusunan tunggal, menghasilkan penukaran yang diingini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meratakan Tatasusunan Bersarang 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