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

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

Susan Sarandon
Lepaskan: 2024-12-12 21:53:14
asal
276 orang telah melayarinya

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

Memudahkan Tatasusunan Berbilang Dimensi menjadi Struktur Linear

Menukar tatasusunan berbilang dimensi kepada rakan sejawatan satu dimensi selalunya boleh menjadi tugas yang sukar, terutamanya apabila berurusan dengan tatasusunan yang mengandungi kunci berangka semata-mata. Walau bagaimanapun, terdapat penyelesaian yang mudah tetapi elegan untuk meratakan struktur ini, menggunakan fungsi tatasusunan PHP.

Jawapan Diterangkan

Penyelesaian menggunakan fungsi array_reduce() bersama-sama dengan array_merge(). array_reduce() lelaran melalui setiap elemen tatasusunan, menggunakan fungsi yang ditentukan pengguna untuk mengumpul nilai akhir yang dikurangkan. Dalam kes ini, kami meneruskan fungsi array_merge(), yang menggabungkan dua tatasusunan menjadi satu tatasusunan.

Dengan menentukan tatasusunan kosong sebagai nilai awal operasi pengurangan, kami memastikan bahawa hasil akhir ialah tatasusunan yang mengandungi semua elemen daripada tatasusunan berbilang dimensi. Setiap lelaran menggabungkan subarray semasa dengan penumpuk, dengan berkesan meratakan input.

Contoh Pelaksanaan

Pertimbangkan tatasusunan berbilang dimensi yang disediakan dalam soalan:

$array = [
    [0 => 'foo', 1 => 'bar', 2 => 'hello'],
    [0 => 'world', 1 => 'love'],
    [0 => 'stack', 1 => 'overflow', 2 => 'yep', 3 => 'man'],
];
Salin selepas log masuk

Untuk meratakan tatasusunan ini, kita hanya boleh menggunakan yang berikut kod:

$result = array_reduce($array, 'array_merge', []);
Salin selepas log masuk

Ini akan menghasilkan tatasusunan satu dimensi yang diingini:

$result = [
    'foo', 'bar', 'hello', 'world', 'love', 'stack', 'overflow', 'yep', 'man'
];
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meratakan Tatasusunan Berkunci Berangka Berbilang Dimensi dengan Cekap 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