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

Bagaimanakah Saya Boleh Meratakan Tatasusunan Berbilang Dimensi dalam PHP Tanpa Rekursi?

Linda Hamilton
Linda Hamiltonasal
2024-12-27 15:45:14874semak imbas

How Can I Flatten a Multidimensional Array in PHP Without Recursion?

Meratakan Tatasusunan Berbilang Dimensi dalam PHP

Meratakan tatasusunan berbilang dimensi melibatkan penukaran struktur bersarangnya kepada tatasusunan satu dimensi. Ini boleh dicapai dalam PHP tanpa menggunakan rekursi atau rujukan.

Penyelesaian Berulang Menggunakan array_walk_recursive()

Untuk PHP versi 5.3 dan lebih tinggi, penyelesaian yang paling ringkas ialah menggunakan array_walk_recursive() bersama-sama dengan penutupan baharu sintaks:

function flatten(array $array) {
    $return = array();
    array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; });
    return $return;
}

Fungsi ini merentasi tatasusunan secara rekursif, menyimpan setiap nilai yang ditemui dalam tatasusunan $return. Hasilnya ialah tatasusunan satu dimensi diratakan yang mengandungi semua nilai asal.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meratakan Tatasusunan Berbilang Dimensi dalam PHP Tanpa Rekursi?. 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