Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggabungkan tatasusunan satu dimensi ke dalam tatasusunan dua dimensi dalam php

Bagaimana untuk menggabungkan tatasusunan satu dimensi ke dalam tatasusunan dua dimensi dalam php

PHPz
PHPzasal
2023-04-25 09:01:53915semak imbas

Semasa proses pembangunan, kita sering menghadapi situasi di mana kita perlu menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi. Masalah ini mudah diselesaikan dalam PHP. Artikel ini akan memperkenalkan dua kaedah untuk menggabungkan tatasusunan satu dimensi kepada tatasusunan dua dimensi.

Kaedah 1: Gunakan fungsi array_chunk

Fungsi array_chunk boleh memisahkan tatasusunan kepada berbilang tatasusunan, di mana bilangan elemen dalam setiap tatasusunan boleh ditentukan. Sintaks fungsi ini adalah seperti berikut:

array array_chunk(array $array, int $size, bool $preserve_keys = false)

di mana $array ialah tatasusunan yang akan dipecahkan, $size ialah bilangan elemen dalam setiap tatasusunan dan $preserve_keys menunjukkan sama ada untuk mengekalkan nama kunci tatasusunan asal.

Kod sampel adalah seperti berikut:

$array = array('cat', 'dog', 'fish', 'bird', 'hamster', 'rabbit');
$result = array_chunk($array, 2);
print_r($result);

Kod ini akan mengeluarkan keputusan berikut:

Array
(
    [0] => Array
        (
            [0] => cat
            [1] => dog
        )

    [1] => Array
        (
            [0] => fish
            [1] => bird
        )

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

)

Kod di atas membahagikan tatasusunan asal kepada tiga tatasusunan, setiap tatasusunan Terdapat dua elemen dalam .

Seterusnya, kita boleh menggunakan gelung foreach untuk lelaran melalui elemen dalam setiap tatasusunan dua dimensi dan menggabungkannya menjadi satu tatasusunan dua dimensi.

Kod sampel adalah seperti berikut:

$array = array('cat', 'dog', 'fish', 'bird', 'hamster', 'rabbit');
$result = array_chunk($array, 2);
$new_array = array();
foreach ($result as $res) {
    $new_array[] = $res;
}
print_r($new_array);

Kod di atas akan mengeluarkan keputusan berikut:

Array
(
    [0] => Array
        (
            [0] => cat
            [1] => dog
        )

    [1] => Array
        (
            [0] => fish
            [1] => bird
        )

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

)

Kini, kami telah berjaya menggabungkan satu dimensi tatasusunan menjadi tatasusunan dua dimensi.

Kaedah 2: Gunakan gelung for

Menggunakan gelung for juga boleh menggabungkan tatasusunan satu dimensi kepada tatasusunan dua dimensi Kaedah ini agak mudah.

Kod sampel adalah seperti berikut:

$array = array('cat', 'dog', 'fish', 'bird', 'hamster', 'rabbit');
$new_array = array();
for ($i = 0; $i < count($array); $i += 2) {
    $new_array[] = array($array[$i], $array[$i + 1]);
}
print_r($new_array);

Kod di atas akan mengeluarkan keputusan berikut:

Array
(
    [0] => Array
        (
            [0] => cat
            [1] => dog
        )

    [1] => Array
        (
            [0] => fish
            [1] => bird
        )

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

)

Kod di atas menggunakan gelung for untuk memisahkan tatasusunan satu dimensi asal menjadi berbilang Tatasusunan dua dimensi yang mengandungi dua elemen.

Ringkasan

Di atas ialah dua kaedah untuk menggabungkan tatasusunan satu dimensi kepada tatasusunan dua dimensi. Fungsi array_chunk boleh membahagikan tatasusunan kepada berbilang tatasusunan Bilangan elemen dalam setiap tatasusunan boleh ditentukan Lebih mudah untuk menggunakan gelung for. Saya harap artikel ini dapat membantu pembaca yang sedang belajar PHP.

Atas ialah kandungan terperinci Bagaimana untuk menggabungkan tatasusunan satu dimensi ke dalam tatasusunan 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