Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk menukar tatasusunan 2D kepada tatasusunan 1D dalam PHP

Bagaimana untuk menukar tatasusunan 2D kepada tatasusunan 1D dalam PHP

WBOY
Lepaskan: 2023-07-07 18:46:01
asal
2577 orang telah melayarinya

Cara menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi dalam PHP

Dalam pembangunan PHP, kita sering menghadapi senario di mana kita perlu menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi. Artikel ini akan memperkenalkan beberapa kaedah biasa untuk membantu anda menyelesaikan tugas ini dengan mudah.

Kaedah 1: Gunakan loop traversal

Kaedah yang paling mudah dan paling mudah ialah menggunakan gelung untuk melintasi tatasusunan dua dimensi dan menambah setiap elemen pada tatasusunan satu dimensi baharu. Berikut ialah contoh kod menggunakan kaedah ini:

function flattenArray($array) {
    $result = [];
    foreach ($array as $subArray) {
        foreach ($subArray as $element) {
            $result[] = $element;
        }
    }
    return $result;
}

// 测试
$twoDimensionalArray = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
$oneDimensionalArray = flattenArray($twoDimensionalArray);
print_r($oneDimensionalArray);
Salin selepas log masuk

Jalankan kod di atas, output hendaklah:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9
)
Salin selepas log masuk

Kaedah 2: Gunakan fungsi array_reduce

PHP menyediakan fungsi array_reduce yang berkuasa, yang boleh digunakan untuk menukar dua tatasusunan -dimensi menjadi tatasusunan Satu dimensi. Fungsi array_reduce menerima tatasusunan untuk diproses dan fungsi panggil balik sebagai parameter, yang digunakan untuk memutuskan cara mengurangkan nilai dalam tatasusunan secara beransur-ansur kepada satu nilai. Berikut ialah contoh kod menggunakan fungsi array_reduce:

function flattenArray($array) {
    return array_reduce($array, function($carry, $item) {
        return array_merge($carry, $item);
    }, []);
}

// 测试
$twoDimensionalArray = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
$oneDimensionalArray = flattenArray($twoDimensionalArray);
print_r($oneDimensionalArray);
Salin selepas log masuk

Jalankan kod di atas dan output mestilah tatasusunan satu dimensi yang sama.

Kaedah 3: Gunakan fungsi array_merge

Fungsi array_merge juga boleh digunakan untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi. Fungsi array_merge menggabungkan berbilang tatasusunan ke dalam satu tatasusunan dan mengembalikan hasilnya. Berikut ialah contoh kod menggunakan fungsi array_merge:

function flattenArray($array) {
    return call_user_func_array('array_merge', $array);
}

// 测试
$twoDimensionalArray = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
$oneDimensionalArray = flattenArray($twoDimensionalArray);
print_r($oneDimensionalArray);
Salin selepas log masuk

Jalankan kod di atas dan output mestilah tatasusunan satu dimensi yang sama.

Kaedah 4: Gunakan fungsi array_walk_recursive

Fungsi array_walk_recursive digunakan untuk melintasi secara rekursif setiap elemen dalam tatasusunan dan melaksanakan pemprosesan panggil balik padanya. Berikut ialah contoh kod menggunakan fungsi array_walk_recursive:

function flattenArray(&$array) {
    $result = [];
    array_walk_recursive($array, function($item) use (&$result) {
        $result[] = $item;
    });
    return $result;
}

// 测试
$twoDimensionalArray = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
$oneDimensionalArray = flattenArray($twoDimensionalArray);
print_r($oneDimensionalArray);
Salin selepas log masuk

Jalankan kod di atas dan output mestilah tatasusunan satu dimensi yang sama.

Ringkasan

Artikel ini memperkenalkan empat kaedah biasa untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi dalam PHP. Memilih kaedah yang sesuai dengan keperluan projek anda dan tabiat peribadi boleh meningkatkan kebolehbacaan dan kecekapan kod anda. Kaedah pertama ini adalah yang paling biasa dan mudah, tetapi kaedah lain mungkin lebih berkesan dalam senario tertentu. Saya harap artikel ini dapat membantu anda lebih memahami dan menggunakan kaedah ini untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi dengan mudah semasa pembangunan.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan 2D kepada tatasusunan 1D dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan