Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tukar tatasusunan satu dimensi kepada tatasusunan dua dimensi php

Tukar tatasusunan satu dimensi kepada tatasusunan dua dimensi php

WBOY
WBOYasal
2023-05-05 22:08:072307semak imbas

Dalam pembangunan PHP, kita selalunya perlu menukar tatasusunan kepada tatasusunan dua dimensi dan tatasusunan satu dimensi Artikel ini akan membincangkan cara menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi.

Konsep asas tatasusunan satu dimensi dan tatasusunan dua dimensi

Dalam PHP, tatasusunan ialah pembolehubah khas yang boleh menyimpan berbilang nilai. Tatasusunan satu dimensi ialah jenis tatasusunan yang paling mudah, di mana setiap elemen mengandungi hanya satu nilai. Tatasusunan dua dimensi ialah pengumpulan data tertib yang mengandungi berbilang tatasusunan satu dimensi.

Kaedah untuk menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi

Dalam PHP, terdapat banyak cara untuk menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi. Di bawah ini kami memperkenalkan beberapa kaedah yang biasa digunakan.

Kaedah 1: Gunakan gelung for

Berikut ialah contoh menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi:

<?php
$arr = ['a', 'b', 'c', 'd', 'e', 'f'];
$rows = 2;
$cols = 3;

$index = 0;
for ($i = 0; $i < $rows; $i++) {
    for ($j = 0; $j < $cols; $j++) {
        if (isset($arr[$index])) {
            $result[$i][$j] = $arr[$index];
            $index++;
        } else {
            break;
        }
    }
}
print_r($result);
?>

Dalam kod, $ arr ialah yang perlu ditukar Tatasusunan dimensi, $rows dan $cols masing-masing mewakili bilangan baris dan lajur tatasusunan dua dimensi. Dalam gelung, kami menetapkan elemen dalam tatasusunan satu dimensi kepada tatasusunan dua dimensi dengan menilai subskrip tatasusunan. Output akhir ialah tatasusunan dua dimensi yang ditukar.

Kaedah 2: Gunakan fungsi array_chunk

Fungsi terbina dalam PHP array_chunk boleh memisahkan tatasusunan satu dimensi kepada berbilang blok tatasusunan, dan kemudian mengembalikan tatasusunan baharu yang terdiri daripada blok ini. Kita boleh menggunakan fungsi ini untuk menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi. Kod sampel adalah seperti berikut:

<?php
$arr = ['a', 'b', 'c', 'd', 'e', 'f'];
$cols = 3;

$result = array_chunk($arr, $cols);
print_r($result);
?>

Dalam kod, $arr ialah tatasusunan satu dimensi yang perlu ditukar dan $cols ialah panjang setiap tatasusunan dua dimensi. Gunakan fungsi array_chunk untuk menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi dan keluarkan hasil yang ditukar.

Kaedah 3: Gunakan gelung foreach

Kaedah lain untuk menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi ialah menggunakan gelung foreach PHP. Contohnya adalah seperti berikut:

<?php
$arr = ['a', 'b', 'c', 'd', 'e', 'f'];
$rows = 2;
$cols = 3;

$index = 0;
foreach (range(1, $rows) as $i) {
    foreach (range(1, $cols) as $j) {
        if (isset($arr[$index])) {
            $result[$i][$j] = $arr[$index];
            $index++;
        } else {
            break;
        }
    }
}
print_r($result);
?>

Dalam kod, kami mencipta tatasusunan melalui fungsi julat untuk mewakili bilangan baris dan lajur. Kemudian, kami menetapkan nilai tatasusunan satu dimensi kepada tatasusunan dua dimensi dengan menilai subskrip dalam gelung foreach. Output akhir ialah tatasusunan dua dimensi yang ditukar.

Kaedah 4: Gunakan fungsi array_chunk dan array_pad

Kaedah lain untuk menggunakan array_chunk dan array_pad fungsi untuk menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi adalah seperti berikut:

<?php
$arr = ['a', 'b', 'c', 'd', 'e', 'f'];
$cols = 3;

$result = array_chunk($arr, $cols);
$last = count($result[count($result) - 1]);
if ($last < $cols) {
    $result[count($result) - 1] = array_pad($result[count($result) - 1], $cols, "");
}
print_r($result);
?>

Dalam kod, Kami mula-mula menggunakan fungsi array_chunk untuk memisahkan tatasusunan satu dimensi kepada berbilang blok tatasusunan, dan kemudian gunakan fungsi array_pad untuk mengisi blok tatasusunan terakhir dengan nilai nol. Ini mencapai penukaran tatasusunan satu dimensi kepada tatasusunan dua dimensi.

Ringkasan

Artikel ini memperkenalkan empat kaedah untuk menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi. Dalam pembangunan sebenar, kita boleh memilih kaedah yang sesuai untuk digunakan mengikut keperluan tertentu. Tidak kira kaedah mana pun, kita boleh mencapai penukaran tatasusunan melalui gelung, fungsi terbina dalam, dsb.

Atas ialah kandungan terperinci Tukar tatasusunan satu dimensi kepada tatasusunan dua dimensi 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