Dalam PHP, kita selalunya perlu menggunakan tatasusunan untuk menyimpan dan mengurus data. Kadangkala, kita menemui tatasusunan yang mengandungi tatasusunan lain, iaitu tatasusunan berbilang dimensi yang dipanggil. Bagaimana untuk memanggil tatasusunan yang terkandung dalam tatasusunan lain dalam PHP? Artikel ini akan memperkenalkan perkara ini secara terperinci.
Tatasusunan berbilang dimensi merujuk kepada tatasusunan yang menyimpan tatasusunan lain atau berbilang dalam tatasusunan. Mereka boleh mempunyai berbilang peringkat bersarang atau jenis data yang berbeza. Contohnya:
$arr = array( '中国' => array('北京', '上海', '广州'), '美国' => array('纽约', '洛杉矶', '芝加哥'), '英国' => array('伦敦', '曼彻斯特', '爱丁堡') );
Dalam contoh ini, tatasusunan $arr mengandungi 3 pasangan nilai kunci, setiap pasangan nilai kunci ialah tatasusunan dan tatasusunan ini mengandungi beberapa nama bandar. Ini ialah tatasusunan dua dimensi kerana tahap bersarangnya ialah 2.
Sudah tentu, tatasusunan berbilang dimensi boleh menjadi lebih kompleks dan bilangan tahap bersarang boleh ditingkatkan seperti yang dikehendaki.
Dalam PHP, untuk mengakses elemen dalam tatasusunan berbilang dimensi, anda perlu menggunakan subskrip ( iaitu, nilai utama) akses. Sebagai contoh, kita boleh menggunakan kaedah berikut untuk mencetak bandar pertama di China dalam tatasusunan $arr:
echo $arr['中国'][0]; //输出北京
Perhatikan di sini bahawa $arr['China'] mengembalikan tatasusunan, Daripada tatasusunan tertentu nama bandar, kita kemudian boleh menggunakan kurungan segi empat sama [] untuk mengakses elemen dalam tatasusunan ini. Begitu juga, jika anda ingin melawat bandar ketiga di Amerika Syarikat (iaitu Chicago), anda boleh menulis seperti ini:
echo $arr['美国'][2]; //输出芝加哥
Mod akses tatasusunan berbilang dimensi adalah serupa dengan mod satu dimensi tatasusunan, kecuali anda perlu menambah kurungan segi empat sama tambahan untuk mengakses Set subarray terbenamnya. Jika anda perlu mengubah suai nilai elemen, anda juga boleh menggunakan kaedah ini untuk beroperasi.
Merentasi tatasusunan berbilang dimensi ialah sesuatu yang sering kita perlu lakukan dalam pembangunan sebenar. Mudah sahaja untuk mencetak elemen tertentu dalam tatasusunan berbilang dimensi, tetapi apabila anda perlu mengulangi keseluruhan tatasusunan, anda perlu menggunakan traversal.
PHP menyediakan pelbagai cara untuk melintasi tatasusunan, termasuk untuk gelung, gelung foreach, gelung sementara, dsb. Di sini kita mengambil gelung foreach sebagai contoh untuk menunjukkan cara melintasi tatasusunan berbilang dimensi di atas.
Pertama, kita boleh menggunakan gelung berganda untuk melintasi tatasusunan dua dimensi. Kod berikut mencetak semua nama bandar dalam tatasusunan di atas $arr:
foreach ($arr as $country => $cities) { echo $country . '的城市有:'; foreach ($cities as $city) { echo $city . ', '; } echo '<br>'; }
Dalam contoh ini, gelung foreach luar digunakan untuk melintasi setiap elemen dalam tatasusunan utama $arr, iaitu semua negara dan susunan bandarnya. Kemudian, gelung foreach dalam digunakan untuk melintasi setiap tatasusunan bandar dan mengeluarkan nama bandar yang sepadan.
Untuk tatasusunan dimensi lebih tinggi, kita perlu menambah bilangan lapisan gelung yang sepadan. Proses ini perlu disesuaikan secara fleksibel mengikut keadaan sebenar.
Setelah memahami cara mengakses dan melintasi tatasusunan berbilang dimensi, berikut ialah beberapa operasi biasa dalam aplikasi praktikal:
$arr['中国'][] = '深圳'; //添加深圳到中国城市数组的末尾
//遍历方式 function findCity($arr, $cityName) { foreach ($arr as $country => $cities) { if (in_array($cityName, $cities)) { return $country; } } return false; } //in_array()方式 if (in_array('芝加哥', $arr['美国'])) { echo '美国有芝加哥这个城市。'; }
$arr['英国'][2] = '布莱顿'; //将英国城市数组中的第三个城市改成布莱顿
unset($arr['中国'][0]); //删除中国的第一个城市北京
Artikel ini memperkenalkan konsep asas tatasusunan berbilang dimensi dalam PHP dan menunjukkan cara mengakses tatasusunan yang terkandung dalam tatasusunan lain , dan cara melintasi dan memanipulasi tatasusunan berbilang dimensi. Tatasusunan berbilang dimensi adalah sangat biasa dalam pembangunan sebenar, dan menguasai operasi asasnya adalah sangat penting untuk menulis program PHP yang cekap. Semoga artikel ini dapat memberi manfaat kepada pembaca.
Atas ialah kandungan terperinci Bagaimana untuk memanggil subarray dalam tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!