Rumah > Artikel > pembangunan bahagian belakang > Tatasusunan 2D dalam PHP
Susun atur ialah himpunan unsur dari sebarang jenis data. Terdapat banyak jenis data dalam php seperti rentetan, integer, boolean, tatasusunan, objek, sumber...dsb. Tatasusunan 2D ialah gabungan jenis data ini terutamanya tatasusunan. Terdapat tiga jenis Tatasusunan 2D yang berbeza dalam PHP iaitu yang berikut:
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
Tiga Tatasusunan ini diterangkan di bawah:
Tatasusunan dengan indeks berangka.
Sintaks:
array(value1, value2, value3, …);
Contoh:
$input = array(10,20,30,40,50);
Tatasusunan dengan rentetan atau indeks nombor. Unsur tatasusunan ini disimpan dalam bentuk pasangan nilai kunci.
Sintaks:
array('key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3',…);
Contoh:
$input = array(0 =>Emma, 1=>Alice, 2=>'John');
Tatasusunan tatasusunan ialah tatasusunan berbilang dimensi atau tatasusunan 2D atau tatasusunan bersarang. Format ini sentiasa tatasusunan atau tatasusunan. Dan dengan itu dipanggil tatasusunan bersarang.
Sintaks:
array ( array (elements...), array (elements...), ... )
Contoh:
$input = array( array( "red", "green", "blue" ), array( "yellow", "black", "white" ) );
Dalam contoh di atas, tatasusunan input ialah contoh tatasusunan 2 dimensi. Di sini, tatasusunan utama mengandungi 2 elemen di mana setiap elemen itu sendiri lebih jauh tatasusunan 3 elemen.
Kami mengetahui bahawa dalam tatasusunan 2D, elemen nilai ialah tatasusunan yang selanjutnya mungkin mempunyai sub-tatasusunan. Dimensi yang disebut dalam tatasusunan adalah dalam bentuk baris dan lajur. Mengingat format jadual tatasusunan adalah lebih mudah untuk mempelajari cara mentakrif tatasusunan ini. Bermaksud bahawa jika tatasusunan dua dimensi, dua indeks akan digunakan, begitu juga, jika tatasusunan tiga dimensi, tiga indeks akan digunakan dan seterusnya.
Memandangkan kami tahu cara mentakrifkan tatasusunan 2D, kami boleh menciptanya sekarang. Di sini indeks tidak ditakrifkan dan secara lalai ialah nombor yang sentiasa bermula dengan 0.
$input=array( array( "red", "green", "blue" ), array( "yellow", "black", "white" ) );
Tatasusunan juga boleh ditakrifkan dalam bentuk tatasusunan bersekutu.
(in key =>value form)
Indeks atau kuncinya ialah rentetan seperti warna, buah-buahan dan kereta. Elemen nilai adalah dalam bentuk tatasusunan yang mengandungi 3 elemen setiap satu.
$input = array( 'colors'=>array ("Red", "Green", "Blue"), 'fruits'=>array ("Apple", "Orange", "Grapes"), 'cars'=>array ("BMW", "Skoda", "Mercedes") );
Untuk mengakses nilai tatasusunan ini, anda boleh menggunakan kurungan segi empat sama. Apabila anda masuk ke dalam lebih banyak tahap tatasusunan 2D, penggunaan set kurungan segi empat sama akan meningkat dengan setiap tahap.
Kod:
$input = array ( 'colors' =>array ("Red", "Green", "Blue"), 'fruits' =>array ("Apple", "Orange", "Grapes"), 'cars' =>array ("Skoda", "BMW", "Mercedes") );
Ingat bahawa set pertama kurungan empat segi mengandungi kunci yang dalam kes ini adalah warna, buah-buahan, kereta. Diikuti dengan satu set lagi kurungan segi empat sama untuk melintasi tahap seterusnya dan boleh diakses dengan nombor seperti 0,1,2.
Jadi, jika kita ingin mengakses elemen "Anggur" dalam tatasusunan di atas,
echo $input['fruits'][2];
Begitu juga contoh berikut
Jika kita mahu mengakses elemen "Mercedes" dalam tatasusunan maka
echo $input['cars'][2];
Jika kita mahu mengakses elemen "Merah" dalam tatasusunan maka
echo $input['colors'][0];
Memandangkan indeks sentiasa bermula dengan 0 dalam tatasusunan.
Kod:
$input = array ( array ("Red", "Green", "Blue"), array ("Yellow", "Orange", "Purple"), );
Jika kami ingin mengakses elemen "Oren" dalam tatasusunan di atas, kami akan menggunakan baris berikut
echo $input[0][1];
akan memberikan "Hijau"
echo $input[1][2];
akan memberikan "Ungu"
echo $input[0][0];
akan memberikan "Merah"
Memandangkan kami tahu cara mentakrif, mencipta dan mengakses elemen tatasusunan, kami akan belajar sekarang cara memasukkan elemen dalam tatasusunan. Terdapat fungsi tatasusunan yang ditakrifkan dalam PHP untuk berfungsi pada tatasusunan berbilang dimensi seperti fungsi array_push() untuk dimasukkan, fungsi array_shift() untuk dialih keluar dan sebagainya.
$input = array ( 'colors'=>array ("Red", "Green", "Blue"), 'fruits'=>array ("Apple", "Orange", "Grapes"), 'cars'=>array ("Skoda", "BMW", "Mercedes") );
Menggunakan fungsi print_r() kami akan mencetak tatasusunan terlebih dahulu sebagaimana adanya.
Kod:
//create multidimensional array $input = array ( "colors"=>array ("Red", "Green", "Blue"), "fruits"=>array ("Apple", "Orange", "Grapes"), "cars"=>array ("Skoda", "BMW", "Mercedes") ); // print the multidimensional array echo "<pre class="brush:php;toolbar:false">"; print_r($input); echo "<pre class="brush:php;toolbar:false">";
Output:
Sekarang untuk menambah elemen pada sub tatasusunan buah-buahan kita akan gunakan
array_push() function
Sintaks:
array_push(array, value1,value2...)
Di mana,
Kod:
$input = array ( "colors"=>array ("Red", "Green", "Blue"), "fruits"=>array ("Apple", "Orange", "Grapes"), "cars"=>array ("Skoda", "BMW", "Mercedes") ); array_push($input['colors'], "Black"); echo "<pre class="brush:php;toolbar:false">"; print_r($input); echo "<pre class="brush:php;toolbar:false">";
Output:
Dalam atur cara di bawah, kami hanya mengalih keluar kekunci "warna", dan mendapati ia ditambah pada tatasusunan terakhir yang diberikan dengan kekunci 0 seperti yang ditunjukkan dalam imej output.
Code:
// create multidimensional array $input = array ( "colors"=>array ("Red", "Green", "Blue"), "fruits"=>array ("Apple", "Orange", "Grapes"), "cars"=>array ("Skoda", "BMW", "Mercedes") ); // adding a value to array array_push($input, "Black"); // print the multidimensional array echo "<pre class="brush:php;toolbar:false">"; print_r($input); echo "<pre class="brush:php;toolbar:false">";
Output:
Code:
//create multidimensional array $input = array ( array ("Red", "Green", "Blue"), array ("Yellow", "Orange", "Purple") ); //add a color to the array array_push($input, "Black"); // print the multidimensional array echo "<pre class="brush:php;toolbar:false">"; print_r($input); echo "<pre class="brush:php;toolbar:false">";
Output:
To update an element of the 2D array just get the key from the array and replace the value of that key in a particular array.
$input['cars']['Mercedes'] = 'Duster';
Code:
//create multidimensional array $input = array ( "colors"=>array ("Red", "Green", "Blue"), "fruits"=>array ("Apple", "Orange", "Grapes"), "cars"=>array ("Skoda", "BMW", "Mercedes") ); //update the Mercedes with Duster $input["cars"][2] = "Duster"; // print the multidimensional array echo "<pre class="brush:php;toolbar:false">"; print_r($input); echo "<pre class="brush:php;toolbar:false">";
Output:
Code:
//create multidimensional array $input = array ( array ("Red", "Green", "Blue"), array ("Yellow", "Orange", "Purple") ); //update the Mercedes with Duster $input[0][1] = "White"; // print the multidimensional array echo "<pre class="brush:php;toolbar:false">"; print_r($input); echo "<pre class="brush:php;toolbar:false">";
Output:
To delete an element of the 2D array we will use array_shift() function.
array_shift removes and returns the first element value of the array.
Syntax:
array_shift(array)
where
-array is the $input array
Code:
//create multidimensional array $input = array ( "colors"=>array ("Red", "Green", "Blue"), "fruits"=>array ("Apple", "Orange", "Grapes"), "cars"=>array ("Skoda", "BMW", "Mercedes") ); //print the removed element print_r(array_shift($input));
Output:
Code:
//create multidimensional array $input = array ( array ("Red", "Green", "Blue"), array ("Yellow", "Orange", "Purple") ); //print the removed element print_r(array_shift($input));
Output:
In the following example, we have created a 2-d array containing the information of books like the author of the book, type of book, and published in the year. Also, we will learn how to traverse or loop through this array. Looping through the multidimensional array we will use a nested foreach loop. Meaning one foreach loop inside another foreach loop. The same can also be done using for loop.
$input = array( "The_Alchemist" => array ( "author" => "Paulo Coelho", "type" => "Fiction", "published_year" => 1988 ), "Managing_Oneself" => array ( "author" => "Peter Drucker", "type" => "Non-fiction", "published_year" => 1999 ), "Measuring_the_World" => array( "author" => "Daniel Kehlmann", "type" => "Fiction", "published_year" => 2005 ) );
Just printing the above array without any loop will give us the following output:
Code:
// create multidimensional array $input = array( "The_Alchemist" => array ( "author" => "Paulo Coelho", "type" => "Fiction", "published_year" => 1988 ), "Managing_Oneself" => array ( "author" => "Peter Drucker", "type" => "Non-fiction", "published_year" => 1999 ), "Measuring_the_World" => array( "author" => "Daniel Kehlmann", "type" => "Fiction", "published_year" => 2005 ) ); // print the plain multidimensional array echo ""; print_r($input); echo "";
Output:
Now we will print the multidimensional array using a foreach loop.
Code:
// create multidimensional array $input = array( "The_Alchemist" => array ( "author" => "Paulo Coelho", "type" => "Fiction", "published_year" => 1988 ), "Managing_Oneself" => array ( "author" => "Peter Drucker", "type" => "Non-fiction", "published_year" => 1999 ), "Measuring_the_World" => array( "author" => "Daniel Kehlmann", "type" => "Fiction", "published_year" => 2005 ) ); //foreach to loop the outer array foreach($input as $book) { echo "
"; // foreach to loop the inner array foreach($book as $key=>$value) { echo $key." ". $value. "
"; } }
Output:
I hope this article is helpful to learn the concepts of the topic on a 2D array in PHP. This topic covers all the concepts required for the understanding related to the 2D array in PHP. This topic is made simpler with the help of examples with the output snapshots to refer to. According to the article, if all the programs are practiced well will surely help you to grasp the concepts easily. I hope the topic is made more informative for gaining more knowledge.
Atas ialah kandungan terperinci Tatasusunan 2D dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!