Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar tatasusunan satu dimensi kepada dua dimensi dalam php

Bagaimana untuk menukar tatasusunan satu dimensi kepada dua dimensi dalam php

PHPz
PHPzasal
2023-04-10 09:34:421464semak imbas

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas yang direka bentuk untuk pembangunan web bagi mencipta aplikasi web dinamik. Dalam PHP, tatasusunan ialah jenis data yang sangat penting yang boleh menyimpan banyak nilai, dan nilai ini boleh terdiri daripada jenis yang berbeza. Kadangkala kita mungkin perlu menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi Pada masa ini, kami memerlukan beberapa kemahiran untuk mencapainya.

Sebelum kita mula membincangkan cara menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi, mari kita lihat dahulu cara mentakrif tatasusunan satu dimensi dalam PHP. Kita boleh mentakrifkan tatasusunan satu dimensi yang mudah menggunakan sintaks berikut:

$numbers = array(1, 2, 3, 4, 5);

Tatasusunan ini boleh menyimpan lima nilai integer. Seterusnya, kita akan membincangkan cara menukar tatasusunan satu dimensi mudah ini kepada tatasusunan dua dimensi.

Kaedah 1: Gunakan fungsi array_chunk

Terdapat fungsi yang sangat mudah dalam PHP yang dipanggil array_chunk, yang boleh memisahkan tatasusunan kepada beberapa ketulan tatasusunan yang sama saiz dan mengembalikan tatasusunan yang mengandungi A ini tatasusunan dua dimensi blok tatasusunan. Kita boleh menggunakan kod berikut untuk menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi:

$numbers = array(1, 2, 3, 4, 5);

$chunks = array_chunk($numbers, 2);

print_r($chunks);

Output akan menjadi tatasusunan dua dimensi yang mengandungi 3 blok tatasusunan, di mana setiap blok tatasusunan mengandungi dua Nombor :

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
        )

    [1] => Array
        (
            [0] => 3
            [1] => 4
        )

    [2] => Array
        (
            [0] => 5
        )

)

Dalam contoh ini, kami membahagi tatasusunan kepada ketulan saiz 2, jadi kami mendapat tatasusunan 2D dengan 3 ketulan.

Kaedah 2: Menggunakan gelung

Cara lain untuk menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi ialah menggunakan gelung. Kita boleh lelaran ke atas tatasusunan, menambah setiap elemen pada tatasusunan baharu sehingga kami mencapai saiz ketulan yang dikehendaki. Akhir sekali, kami menambah tatasusunan baharu pada tatasusunan 2D yang mengandungi semua blok tatasusunan. Berikut ialah kod sampel:

$numbers = array(1, 2, 3, 4, 5);
$chunk_size = 2;
$chunks = array();

for($i=0; $i<count($numbers); $i+=$chunk_size) {
    $chunks[] = array_slice($numbers, $i, $chunk_size);
}

print_r($chunks);

Ini akan mengeluarkan hasil yang sama seperti kaedah 1:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
        )

    [1] => Array
        (
            [0] => 3
            [1] => 4
        )

    [2] => Array
        (
            [0] => 5
        )

)

Dalam kes ini, kami menggelungkan melalui tatasusunan dan menggunakan fungsi array_slice untuk Setiap blok ditambah pada tatasusunan baharu. Akhir sekali, kami menggabungkan blok ini menjadi tatasusunan dua dimensi.

Kesimpulan

Menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi ialah tugas yang sangat biasa dalam PHP. Kita boleh menggunakan fungsi array_chunk atau gelung untuk menyelesaikan tugas ini. Kaedah ini semuanya sah dan boleh digunakan berdasarkan keutamaan peribadi. Memandangkan anda telah mempelajari teknik ini, anda boleh menggunakannya secara fleksibel semasa proses pembangunan.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan satu dimensi kepada dua dimensi dalam php. 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