Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar tatasusunan satu dimensi kepada tatasusunan berbilang dimensi dalam php

Bagaimana untuk menukar tatasusunan satu dimensi kepada tatasusunan berbilang dimensi dalam php

PHPz
PHPzasal
2023-04-23 09:17:57956semak imbas

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas, terutamanya sesuai untuk bidang pembangunan web. Dalam PHP, tatasusunan ialah jenis data yang sangat penting yang boleh digunakan untuk menyimpan berbilang item data. Tatasusunan satu dimensi adalah yang paling ringkas dan boleh dibuat dengan mudah, tetapi untuk pengumpulan data yang kompleks, tatasusunan berbilang dimensi adalah lebih praktikal. Dalam artikel ini, saya akan meneroka cara menukar tatasusunan satu dimensi kepada tatasusunan berbilang dimensi untuk menjadikan struktur data lebih jelas.

Pertama, mari kita lihat cara membuat tatasusunan satu dimensi. Dalam PHP, anda boleh mencipta tatasusunan satu dimensi dengan sintaks berikut:

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

Kod di atas mencipta tatasusunan bernama $numbers, yang mengandungi lima integer. Dalam PHP 5.4 atau lebih tinggi, anda juga boleh menciptanya menggunakan sintaks tatasusunan pendek:

$numbers = [1, 2, 3, 4, 5];

Seterusnya, kami akan memperkenalkan cara menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi atau tatasusunan berbilang dimensi .

1 Menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi

Kaedah menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi adalah dengan menukar setiap elemen dalam tatasusunan satu- tatasusunan dimensi menjadi tatasusunan dua dimensi nilai . Untuk tatasusunan satu dimensi dengan elemen n, kita boleh menukarnya menjadi tatasusunan dua dimensi dengan elemen n, di mana setiap elemen ialah tatasusunan satu dimensi yang mengandungi hanya satu nilai. Berikut ialah contoh:

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

Dalam contoh di atas, kami menggunakan fungsi array_chunk() untuk menukar tatasusunan $numbers kepada tatasusunan dua dimensi yang mengandungi 5 tatasusunan. Sintaks fungsi ini adalah seperti berikut:

array_chunk(array, size, preserve_key);

Antaranya, parameter tatasusunan ialah tatasusunan satu dimensi yang hendak ditukar, parameter saiz ialah bilangan elemen bagi setiap sub-tatasusunan; parameter menentukan sama ada kunci tatasusunan asal digunakan apabila pembahagian harus dikekalkan. Parameter saiz di sini ditetapkan kepada 1, dan setiap subarray hanya mengandungi satu elemen.

Yang berikut mengeluarkan tatasusunan $grid pada masa ini:

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

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

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

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

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

)

Seperti yang ditunjukkan di atas, tatasusunan $grid telah berjaya ditukar menjadi tatasusunan dua dimensi.

2. Menukar tatasusunan satu dimensi kepada tatasusunan berbilang dimensi

Kaedah menukar tatasusunan satu dimensi kepada tatasusunan berbilang dimensi adalah untuk merawat setiap elemen dalam tatasusunan satu- tatasusunan dimensi sebagai nilai dalam tatasusunan berbilang dimensi . Jika anda memerlukan tatasusunan tiga dimensi, anda boleh mengikuti langkah berikut:

  1. Tukar tatasusunan satu dimensi kepada tatasusunan dua dimensi.
  2. Tukar setiap tatasusunan satu dimensi dalam tatasusunan dua dimensi kepada tatasusunan yang mengandungi hanya satu elemen untuk mendapatkan tatasusunan tiga dimensi.

Berikut ialah contoh menukar kepada tatasusunan tiga dimensi:

$numbers = array(1, 2, 3, 4, 5);
$grid = array_chunk($numbers, 1);
$cube = array_map(function($val) { return array($val); }, $grid);
print_r($cube);

Dalam kod di atas, kita mula-mula menggunakan fungsi array_chunk() untuk menukar $numbers tatasusunan ke dalam tatasusunan yang mengandungi 5 Tatasusunan dua dimensi tatasusunan. Kemudian, gunakan fungsi array_map() untuk menukar setiap tatasusunan satu dimensi kepada tatasusunan yang mengandungi satu elemen. Sintaks fungsi ini adalah seperti berikut:

array_map(callback, arr1, arr2, ...);

Antaranya, parameter panggil balik ialah nama fungsi tersuai yang digunakan untuk mengendalikan setiap elemen tatasusunan, parameter arr1, arr2,... ialah setiap elemen yang akan dikendalikan pada.

Nota: Jika anda menggunakan fungsi tanpa nama, anda perlu menambah pernyataan use ($variable1, …) sebelum fungsi untuk lulus pembolehubah yang perlu digunakan dalam fungsi penutupan.

Output berikut ialah tatasusunan $cube pada masa ini:

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

        )

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

        )

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

        )

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

        )

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

        )

)

Seperti yang ditunjukkan di atas, tatasusunan $cube telah berjaya ditukar menjadi tatasusunan tiga dimensi.

3. Ringkasan

Dalam PHP, tatasusunan ialah jenis data yang sangat penting. Tatasusunan satu dimensi boleh dibuat dengan mudah, tetapi untuk pengumpulan data yang kompleks, tatasusunan berbilang dimensi adalah lebih praktikal. Dengan menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi atau tatasusunan berbilang dimensi, struktur data boleh dibuat dengan lebih jelas dan memudahkan carian dan pemprosesan data. Melalui pengenalan artikel ini, saya percaya bahawa pembaca mempunyai pemahaman yang lebih mendalam tentang cara menukar tatasusunan satu dimensi kepada tatasusunan berbilang dimensi.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan satu dimensi kepada tatasusunan berbilang 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