Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membuat tatasusunan dua dimensi dalam php

Bagaimana untuk membuat tatasusunan dua dimensi dalam php

WBOY
WBOYasal
2023-05-11 09:09:361335semak imbas

Dalam PHP, tatasusunan ialah struktur data yang sangat biasa yang boleh digunakan untuk menyimpan dan memanipulasi set data. Tatasusunan dua dimensi ialah tatasusunan bersarang dalam tatasusunan lain.

Sintaks asas untuk mencipta tatasusunan dua dimensi ialah: $array = array(array(value1,value2,..),array(value3,value4,..),..);

Antaranya, setiap tatasusunan kecil ialah tatasusunan satu dimensi yang digunakan untuk menyimpan set data Berbilang tatasusunan kecil digabungkan menjadi tatasusunan besar untuk membentuk tatasusunan dua dimensi. Di bawah ini kami akan menerangkan secara terperinci cara membuat tatasusunan dua dimensi dalam PHP dengan contoh.

1 Buat tatasusunan dua dimensi secara manual

Cara untuk mencipta tatasusunan dua dimensi secara manual ialah dengan mentakrifkan nilai tatasusunan secara langsung dalam kod, seperti yang ditunjukkan di bawah:

<?php
//手动创建二维数组
$arr = array(
    array("name"=>"张三", "age"=>18, "city"=>"北京"),
    array("name"=>"李四", "age"=>20, "city"=>"上海"),
    array("name"=>"王五", "age"=>22, "city"=>"广州")
);

//输出二维数组
print_r($arr);
?>

Contoh di atas, kami mentakrifkan tatasusunan dua dimensi $arr, yang mengandungi tiga tatasusunan kecil Setiap tatasusunan kecil mengandungi tiga pasangan nilai kunci untuk merekodkan nama, umur dan bandar orang itu. Dengan mengeluarkan keseluruhan tatasusunan melalui fungsi print_r(), anda boleh melihat struktur dan kandungan tatasusunan.

2. Gunakan gelung untuk mencipta tatasusunan dua dimensi

Dalam sesetengah senario, kita perlu menjana tatasusunan dua dimensi secara dinamik dalam kes ini, kita boleh menggunakan pernyataan gelung untuk mencapai ini. Mari lihat contoh yang menggunakan pernyataan for gelung untuk menjana tatasusunan dua dimensi 3x3:

<?php
//使用循环创建二维数组
$arr = array();
for($i=0;$i<3;$i++){
    for($j=0;$j<3;$j++){
        $arr[$i][$j] = rand(1,100); //生成随机数填充数组
    }
}

//输出二维数组
print_r($arr);
?>

Dalam contoh di atas, kita mentakrifkan tatasusunan kosong $arr, dan kemudian menjana tatasusunan 3x3 melalui dua untuk gelung penyata Tatasusunan dua dimensi, setiap elemen ialah nombor rawak. Dalam contoh ini, kami menggunakan nilai indeks tatasusunan untuk menyimpan setiap elemen Gelung pertama mengawal bilangan tatasusunan kecil luar, dan gelung kedua mengawal panjang tatasusunan kecil dalam.

3 Menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi

Kadangkala, kita perlu menukar tatasusunan satu dimensi kepada tatasusunan dua dimensi, yang boleh dicapai melalui PHP fungsi terbina dalam array_chunk(). Fungsi array_chunk() akan membahagikan tatasusunan satu dimensi kepada beberapa tatasusunan kecil mengikut saiz yang ditentukan untuk membentuk tatasusunan dua dimensi.

Berikut ialah contoh pembahagian tatasusunan satu dimensi 10 elemen kepada 3 tatasusunan kecil, setiap satu mengandungi 3 elemen:

<?php
//将一维数组转换为二维数组
$data = array(1,2,3,4,5,6,7,8,9,10);
$arr = array_chunk($data,3);

//输出二维数组
print_r($arr);
?>

Dalam contoh di atas, kami Tatasusunan data asal $data ditakrifkan, yang mengandungi 10 elemen. Kami menggunakan fungsi array_chunk() untuk membahagikan tatasusunan ini kepada kumpulan tiga elemen untuk menjana tatasusunan dua dimensi 3x3 $arr. Dengan mengeluarkan tatasusunan ini melalui fungsi print_r(), anda boleh melihat struktur dan kandungan khususnya.

Ringkasan: Tiga kaedah di atas boleh digunakan untuk mencipta tatasusunan dua dimensi, dan kaedah berbeza boleh dipilih mengikut keperluan dan senario tertentu. Perlu diingatkan bahawa apabila menggunakan tatasusunan dua dimensi, beri perhatian kepada indeks dan nilai utama tatasusunan untuk mengelakkan masalah seperti tatasusunan di luar sempadan dan salah baca data.

Atas ialah kandungan terperinci Bagaimana untuk membuat 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