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

Bagaimanakah Saya Boleh Meratakan Tatasusunan Berbilang Dimensi dalam PHP?

Linda Hamilton
Lepaskan: 2025-01-05 09:31:39
asal
317 orang telah melayarinya

How Can I Flatten Multidimensional Arrays in PHP?

PHP Ratakan Tatasusunan Berbilang Dimensi

meratakan tatasusunan berbilang dimensi kepada satu dimensi boleh menjadi penting untuk beberapa tugas pemprosesan data. PHP menawarkan cara yang mudah untuk melaksanakan penukaran ini menggunakan fungsi manipulasi tatasusunan.

Penyelesaian Menggunakan array_merge

$array = [
    [1, 2, 3],
    [4, 5, 6],
];

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

echo "<pre class="brush:php;toolbar:false">";
print_r($result); // Output: [1, 2, 3, 4, 5, 6]
Salin selepas log masuk

Fungsi call_user_func_array() membolehkan anda menghantar tatasusunan argumen kepada fungsi. Dalam kes ini, kami menggunakannya untuk memanggil fungsi array_merge() dengan setiap elemen tatasusunan berbilang dimensi sebagai argumen.

Penyelesaian Menggunakan Fungsi Rekursif

function array_flatten($array) {
    $return = [];
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            $return = array_merge($return, array_flatten($value));
        } else {
            $return[$key] = $value;
        }
    }
    return $return;
}

$array = [
    [1, 2, 3],
    [4, 5, 6],
];

$result = array_flatten($array);

echo "<pre class="brush:php;toolbar:false">";
print_r($result); // Output: [1, 2, 3, 4, 5, 6]
Salin selepas log masuk

Fungsi rekursif ini berfungsi dengan mengulang melalui tatasusunan dan secara rekursif memanggil dirinya sendiri pada mana-mana elemen tatasusunan yang ditemuinya. Ia menggabungkan hasil daripada setiap panggilan rekursif ke dalam tatasusunan leper terakhir.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meratakan Tatasusunan Berbilang Dimensi dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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