Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar tatasusunan 2D kepada tatasusunan 1D menggunakan PHP

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

PHPz
Lepaskan: 2023-04-25 09:51:51
asal
1105 orang telah melayarinya

Dalam PHP, tatasusunan dua dimensi ialah tatasusunan yang terdiri daripada tatasusunan berbilang satu dimensi, yang merupakan struktur data yang sangat biasa dalam pengaturcaraan. Walau bagaimanapun, dalam beberapa senario tertentu, kita mungkin perlu menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi untuk memudahkan penggunaan dan pemprosesan program.

Di bawah, saya akan memperkenalkan cara menggunakan PHP untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi.

1. Gunakan gelung foreach

Kaedah yang paling biasa ialah menggunakan gelung foreach untuk mengekstrak setiap elemen tatasusunan dua dimensi dan menyimpannya dalam tatasusunan satu dimensi baharu.

$array = array(
    array('id' => 1, 'name' => 'Tom'),
    array('id' => 2, 'name' => 'Jerry')
);

$newArray = array();
foreach ($array as $value) {
    foreach ($value as $val) {
        $newArray[] = $val;
    }
}
print_r($newArray);
Salin selepas log masuk

Hasil keluaran:

Array (
    [0] => 1
    [1] => Tom
    [2] => 2
    [3] => Jerry
)
Salin selepas log masuk
Salin selepas log masuk

2. Gunakan fungsi array_reduce

Kita juga boleh menggunakan fungsi array_reduce PHP untuk memproses tatasusunan dua dimensi.

$array = array(
    array('id' => 1, 'name' => 'Tom'),
    array('id' => 2, 'name' => 'Jerry')
);

$newArray = array_reduce($array, function ($result, $item) {
    return array_merge($result, array_values($item));
}, array());

print_r($newArray);
Salin selepas log masuk

Hasil keluaran:

Array (
    [0] => 1
    [1] => Tom
    [2] => 2
    [3] => Jerry
)
Salin selepas log masuk
Salin selepas log masuk

3 Gunakan fungsi array_column

Jika kita hanya perlu mengekstrak lajur tertentu dalam tatasusunan dua dimensi, kita boleh. gunakan fungsi array_column PHP.

$array = array(
    array('id' => 1, 'name' => 'Tom', 'age' => 18),
    array('id' => 2, 'name' => 'Jerry', 'age' => 20)
);

$newArray = array_column($array, 'name');
print_r($newArray);
Salin selepas log masuk

Hasil keluaran:

Array (
    [0] => Tom
    [1] => Jerry
)
Salin selepas log masuk

4 Gunakan fungsi untuk menukar tatasusunan secara rekursif

Jika dimensi tatasusunan dua dimensi bersarang tidak tetap. , kita boleh menggunakan fungsi rekursif untuk melakukan penukaran.

$array = array(
    array('id' => 1, 'name' => 'Tom', 'languages' => array('PHP', 'Java')),
    array('id' => 2, 'name' => 'Jerry', 'languages' => array('Python', 'C++'))
);

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

$newArray = convert($array);
print_r($newArray);
Salin selepas log masuk

Hasil keluaran:

Array (
    [0] => 1
    [1] => Tom
    [2] => PHP
    [3] => Java
    [4] => 2
    [5] => Jerry
    [6] => Python
    [7] => C++
)
Salin selepas log masuk

Di atas adalah beberapa kaedah untuk menukar tatasusunan dua dimensi kepada tatasusunan satu dimensi Memilih kaedah yang sesuai mengikut situasi sebenar boleh sangat meningkatkan kecekapan kod dan kebolehbacaan.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan 2D kepada tatasusunan 1D menggunakan 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan