Rumah > Artikel > pembangunan bahagian belakang > Tatasusunan Berbilang Dimensi dalam PHP
Susun atur berbilang dimensi bukanlah sesuatu yang luar biasa tetapi tatasusunan di dalam tatasusunan lain. Setiap indeks tatasusunan memegang tatasusunan lain dan bukannya satu elemen yang sekali lagi boleh menunjuk kepada tatasusunan lain atau elemen tertentu. Sub-tatasusunan di dalam tatasusunan ini diakses menggunakan pelbagai dimensi bermula dari tatasusunan luar dan bergerak kearah tatasusunan dalam. Dimensi pada asasnya ialah indeks yang diperlukan untuk mengakses atau menyimpan nilai pada kedudukan tertentu dalam tatasusunan. Tatasusunan multidimensi dalam php sangat digunakan dalam aplikasi masa nyata tetapi agak sukar untuk menanganinya sebagai perbandingan dengan tatasusunan dimensi tunggal kerana kurungan berbilang dan beberapa kerumitan untuk berfungsi dengannya, sama ada mengakses atau menyimpan nilai pada indeks tertentu, penggunaan gelung diperlukan.
IKLAN Kursus Popular dalam kategori ini PEMBANGUN PHP - Pengkhususan | 8 Siri Kursus | 3 Ujian Olok-olokMulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Di bawah diberikan ialah sintaks umum tatasusunan berbilang dimensi dalam PHP. Walaupun tatasusunan berbilang dimensi dalam PHP boleh menjadi 2D, 3D, 4D, dan sebagainya. Lebih banyak dimensi tatasusunan, lebih sukar untuk mengurusnya dan lebih banyak kurungan ditambah di hadapan nama tatasusunan.
Sintaks untuk Tatasusunan 2D:
array( array(element1, element2, elements3, ...), array(element1, element2, elements3, ...), … so on )
Sintaks untuk Tatasusunan 3D:
array( array ( array(element1, element2, elements3, ...), array(element1, element2, elements3, ...), … so on ), array ( array(element1, element2, elements3, ...), array(element1, element2, elements3, ...), … so on ), … so on )
PHP membenarkan tatasusunan berbilang dimensinya sama ada diindeks atau bersekutu. Tatasusunan bersekutu adalah lebih interaktif berbanding dengan tatasusunan yang diindeks. PHP membenarkan cara yang sangat mudah untuk mengisytiharkan tatasusunan multidimensi dalam PHP menggunakan kata kunci 'tatasusunan'. Untuk mengisytiharkan tatasusunan di dalam tatasusunan lain, Kami perlu menambah kata kunci 'tatasusunan' dan kemudian elemen tatasusunan itu.
Kod:
<?php $employee_details = array(); $employee_details[ ] = array("Ram", "Agra", "Sr. Engineer"); $employee_details[ ] = array("Raghav", "Delhi", "Jr. Engineer"); ?>
ATAU
<?php $employee_details = array( array("Ram", "Agra", "Sr. Engineer"), array("Raghav", "Delhi", "Jr. Engineer"), ); ?>
Kaedah kedua yang Ditunjukkan Di Atas Lazimnya Digunakan kerana Ia Agak Mudah Difahami.
Kod:
<?php /* Simplest way to declare a 3D array in Php in an indexed manner */ $item_details = array( array( array ("item1", "abc", 100)), array ("item2", "bcd", 200)), array ("item3", "def", 300)), ), array( array ("item4", "abc4", 100)), array ("item5", "bcd5", 200)), array ("item6", "def6", 300)), ), ); ?>
Pengisytiharan di atas diindeks semata-mata salah satu tatasusunan 3D kerana tiada pasangan nilai kunci digunakan untuk perkaitan.
Memulakan tatasusunan berbilang dimensi bermakna menetapkan nilai atau elemen pada kedudukan atau indeks tertentu tatasusunan. Memulakan tatasusunan berbilang dimensi dalam PHP agak mudah seperti mengisytiharkan. Satu-satunya perkara yang perlu diingat ialah penggunaan pendakap semasa memulakan subarrays. Semasa memulakan nilai dalam tatasusunan berbilang dimensi, tatasusunan utama boleh diindeks atau bersekutu, dalam contoh yang diberikan di bawah, tatasusunan utama ialah tatasusunan bersekutu yang mempunyai kunci Seperti Levis, Lee, Denizen, Dll.,
Kod:
<?php /* It is a multidimensional 2D array of clothes in which the main array holds another arrays of having 2 elements like cloth type and quantity */ /* It is associative kind of array having the data in the form of key => value pairs. So the data at the inner subarray is represented as associated by the key element.*/ $clothes = array( "Levis" => array( "Cloth_type" => "jeans", "Quantity" => 20 ), "Pepe" => array( "Cloth_type" => "jeans", "Quantity" => 100 ), "Lee" => array( "Cloth_type" => "tshirts", "Quantity" => 50 ), "Denizen" => array( "Cloth_type" => "tops", "Quantity" => 80 ) ); ?>
Pemulaan Tatasusunan 3D adalah Sama seperti tatasusunan 2D, satu-satunya perbezaan antara keduanya ialah dimensi. Tatasusunan 3D memerlukan 1 lagi indeks untuk memulakannya daripada Tatasusunan 2D. Bilangan dimensi tatasusunan meningkat, bilangan indeks untuk memulakannya juga meningkat. Dalam contoh di bawah, tatasusunan utama ialah tatasusunan diindeks mudah yang mempunyai sub-tatasusunan itu sendiri. Kami juga boleh menjadikan tatasusunan utama dalam contoh di bawah sebagai bersekutu seperti yang telah kami lakukan dalam tatasusunan 2D dengan kunci sebagai nama jenama yang memudahkan pelanggan memahami semasa mengakses dan menyimpannya.
Kod:
<?php /* In this there is a 3D array of clothes in which each element have an array of cloth type, brand and quantity of that particular brand. Each brand has different quantity and cloth type.*/ $clothes = array( array( array( "Brand" => "Levis", "Cloth_type" => "jeans", "Quantity" => 20 ), array( "Brand" => "Levis", "Cloth_type" => "Tops", "Quantity" => 100 ) ), array( array( "Brand" => "Lee", "Cloth_type" => "jeans", "Quantity" => 50 ), array( "Brand" => "Lee", "Cloth_type" => "tops", "Quantity" => 80 ) ), ); ?>
Mengakses tatasusunan berbilang dimensi dalam PHP adalah sangat mudah dan dilakukan dengan menggunakan sama ada untuk atau untuk setiap gelung yang merupakan gelung yang biasa digunakan dalam PHP. Untuk tatasusunan yang diindeks, mengakses elemen tatasusunan boleh dilakukan seperti biasa menggunakan nombor baris dan lajur yang serupa dengan bahasa lain seperti C, Java, Dsb. (arr[row_Num][column_Num]).
Dalam kes tatasusunan bersekutu, mengakses unsur tatasusunan berbilang dimensi dilakukan menggunakan pasangan kunci dan nilai (kunci => Nilai). Walaupun unsur-unsur diakses melalui mudah untuk atau untuk setiap gelung. Sila rujuk contoh yang diberikan di bawah untuk pemahaman yang jelas tentang mengakses elemen dalam tatasusunan berbilang dimensi.
Tiada keadaan tertentu sehingga tatasusunan multidimensi boleh wujud dalam PHP. Ia bergantung kepada situasi dan senario tertentu. Dimensi tatasusunan berbeza dengan sewajarnya. Biasanya pengaturcara menggunakan tatasusunan 2D dan 3D kerana, selepas tatasusunan 3D, agak sukar untuk mengurusnya.
As we have understood the declaration, initialization and accessing of multidimensional arrays in PHP, it is time for a quick brief explanation with examples.
2D arrays are basically array inside another array. Consider a scenario that a user have 10 books and each book has a different name, cost, type. In this case, the programmer can create an array of book numbers and each element of the main array holds the array which contains details of the book like name, cost, and type.
Code:
<!DOCTYPE html> <html> <body> <?php /* Multidimensional 2D array for 4 books and each book having a different array containing book name, cost and type. */ $books = array( array("Fiction ", "Action and Adventure ", 800), array("Fiction ", "Anthology ", 1000), array("Non- Fiction ", "Biography ", 600), array("Non- Fiction ", "Cook Book ", 900) ); /* Accessing of a 2D array with the row_number and column_number */ for ($row_num = 0; $row_num < 4; $row_num++) { echo "<p>Book number is $row_num</p>"; for ($col_num = 0; $col_num < 3; $col_num++) { // Accessing a particular element in a 2D array echo $books[$row_num][$col_num]; } echo "<br>"; } ?>
Output:
3D arrays are an extension of 2D arrays. 3D arrays contain one more dimension and provides the chance to add more detailed information. Consider a scenario of employee array, in which employee have name, company and year and each employee has a company profile with the attributes id, skills, and profile. Each employee has personal data also with the details of the city, state, and country. In Order, to Store, the Above Data 3D Array Would Be Required.
Code:
<!DOCTYPE html> <html> <body> <?php $Employee = array(array(array("name", "company", "year"), array("id","skills","profile"), array("city","state","country") ), /* array to store the name, company and year of employee*/ array(array("jiya", "Infosys", 2016), array("ram", "ola", 2017) ), /* array to store the id, skills and profile of employees */ array(array("E101", "PHP", "developer"), array("E103", "mysql", "DBA") ), /* array to store the city, state and country of employees */ array(array("Bangalore", "Karnataka", "India"), array("San Francisco", "California", "USA") ) ); ?> <?php echo "<ul>"; for ( $outermost = 0; $outermost < 3; $outermost++ ) { echo "<li>The outermost number $outermost"; echo "<ul>"; for ( $row_num = 0; $row_num < 2; $row_num++ ) { echo "<li> Now displaying the row number $row_num"; echo "<ul>"; for ( $col_num = 0; $col_num < 3; $col_num++ ) { // accessing the array elements in a 3D array echo "<li>".$Employee[$outermost][$row_num][$col_num]."</li>"; } echo "</ul>"; echo "</li>"; } echo "</ul>"; echo "</li>"; } echo "</ul>"; ?> </body> </html>
Output:
The above example clearly displays the details of the employee along with their skills in a very user-friendly manner. It allows the detailing of each and every employee in a fancy 3d arrays. We are dealing with 3d arrays, in order to access that, we need to first reach to the main array and then to the index which again holds the subarray and then to the elements of its subarray. In this way, accessing to the elements works in the case of multidimensional arrays starting from the outermost to the innermost array. similarly, in real life, there are sub-arrays or detailed things in which multidimensional arrays are used.
The above explanation clearly shows how the multidimensional arrays are used in php along with their basic syntax and initialization. Multidimensional arrays play an important role when it comes to working on real-life problems as they allow the user to store the data in a detailed form. Moreover, as shown above, php allows storing the multidimensional data either in indexed or associative form according to the requirements which makes it more friendly to access and store the data.
Atas ialah kandungan terperinci Tatasusunan Berbilang Dimensi dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!