Tujuan dari array adalah untuk menyimpan data secara terorganisir dan memungkinkan akses mudah menggunakan indeks atau kunci. Anda telah mempelajari tentang larik satu dimensi pada pelajaran sebelumnya. Memperluas array yang sama, bayangkan jika Anda dapat menyimpan data dalam baris dan kolom. Menyimpan dimensi data yang berbeda dalam sebuah array dimungkinkan dengan array multidimensi. Itu dapat dilihat sebagai array dengan di array lain. Singkatnya array bersarang adalah array multidimensi
Beberapa dimensi data tidak dapat direpresentasikan dalam array satu dimensi. Jadi kita membutuhkan array bersarang. Berikut adalah sintaks array multidimensi-
$MultiDimenArray-Name=array( [key=>] array( [key=>]array…. )))
Anda dapat mendefinisikan array sebagai elemen dari array. Array bersarang di dalam array lain dapat dibuat dengan kunci string seperti array asosiatif atau tanpa kunci. Jika tidak ada kunci yang ditentukan maka nilai indeks secara otomatis dialokasikan ke elemen array seperti halnya array yang diindeks
Contoh Array Multidimensi PHP
Jika Anda ingin menyimpan data dari tenaga penjualan yang berbeda di kota yang berbeda untuk kuartal yang berbeda dalam setahun, array multidimensi PHP akan menjadi alat yang berguna.
Pramuniaga. Andy
Kuartal PertamaKuartal KeduaKuartal KetigaKuartal KeempatNew York36239888Chicago78564537Denver34783621Pramuniaga. Bob
Kuartal PertamaKuartal KeduaKuartal KetigaKuartal KeempatNew York22677198Chicago76538361Denver45692345Pramuniaga. Chris
Array Multidimensi dengan Kunci
Dalam contoh berikut, elemen array bersarang diasosiasikan dengan kunci. Jadi, saat mengaksesnya, kunci harus digunakan seperti yang Anda lakukan di array asosiatif
<?php $SalesData=array("Andy"=> array("NewYork"=>array("Q1"=>36,"Q2"=>23,"Q3"=>98,"Q4"=>88), "Chicago"=>array("Q1"=>78,"Q2"=>56,"Q3"=>45,"Q4"=>37), "Denver"=>array("Q1"=>34,"Q2"=>78,"Q3"=>36,"Q4"=>21)), "Bob"=> array("NewYork"=>array("Q1"=>22,"Q2"=>67,"Q3"=>71,"Q4"=>98), "Chicago"=>array("Q1"=>76,"Q2"=>53,"Q3"=>83,"Q4"=>61), "Denver"=>array("Q1"=>45,"Q2"=>69,"Q3"=>23,"Q4"=>46) ), "Chris"=>array( NewYork"=>array("Q1"=>22,"Q2"=>67,"Q3"=>56,"Q4"=>45), "Chicago"=>array("Q1"=>76,"Q2"=>53,"Q3"=>78,"Q4"=>36), "Denver"=>array("Q1"=>22,"Q2"=>67,"Q3"=>71,"Q4"=>98))); echo $SalesData["Andy"]["Chicago"]["Q3"]. ','; echo $SalesData["Andy"]["NewYork"]["Q4"].","; echo $SalesData["Bob"]["Denver"]["Q1"].","; echo $SalesData["Bob"]["Chicago"]["Q2"].","; echo $SalesData["Chris"]["Denver"]["Q1"].","; echo $SalesData["Chris"]["NewYork"]["Q4"]; ?>Array Multidimensi dengan Indeks
Saat Anda tidak menentukan kunci saat membuat array multidimensi PHP, indeks secara otomatis ditetapkan ke elemen. Sekarang Anda dapat menggunakan indeks dengan cara yang sama seperti yang Anda lakukan dengan array satu dimensi. Anda dapat menggunakan For Loop/While Loop untuk mengulang melalui array bersarang dan menggunakan elemen seperti yang ditunjukkan pada contoh kode di bawah ini
Salah satu idenya adalah membuat pencarian objek. Ini sangat berguna jika Anda harus mencari nilai berkali-kali dan nilainya adalah hal-hal sederhana seperti string DAN Anda mencari kecocokan yang tepat. Pertandingan parsial akan lebih sulit dicapai
function reverseProperties(obj) { var newObj = {}; for (var prop in obj) { if (obj.hasOwnProperty(prop) && typeof(obj[prop]) === "string") { if (!newObj.hasOwnProperty(obj[prop])) { newObj[obj[prop]] = []; } newObj[obj[prop]].push(prop); } } return newObj; } var arr = {}; arr['thisKey'] = { prop1 : 'a', prop2 : 'b', prop3 : 'c' }; arr['thatKey'] = { prop1 : 'x', prop2 : 'y', prop3 : 'z' }; arr['otherKey'] = { prop1 : 'red', prop2 : 'orange', prop3 : 'blue' }; var reversed = reverseProperties(arr['thisKey']); // Then to access simply use: console.log(reversed['a']); //or console.log(reversed.a); _Anda tentu saja harus menguji apakah properti (nilai) itu ada sebelum menggunakannya. Anda mungkin ingin menulis fungsi pembantu lain untuk itu
Untuk membuatnya lebih rapi, Anda dapat memikirkan untuk meletakkan fungsi-fungsi ini di namespace
Terima kasih atas tanggapannya. Jika saya membaca ini dengan benar, sepertinya saya harus meneruskan fungsi larik utama dengan nama kunci. Dalam hal ini, arr['thisKey']. Tapi saya sebenarnya mencoba mendapatkan fungsi untuk mengembalikan 'thisKey', berdasarkan saya mengatakan bahwa prop1 = a
Apakah saya melakukan sesuatu yang salah?
Saya dengan cepat menjalankan kode berikut yang berfungsi. Ini mengembalikan array dengan semua kunci yang berisi kunci/nilai yang Anda minta
Itu memanfaatkan metode Array bawaan yang ada di sebagian besar browser web sekarang. Halaman untuk filter dan [url=“https. // pengembang. mozilla. org/en/JavaScript/Reference/Global_Objects/Array/some”]beberapa memiliki kode kompatibilitas jika Anda ingin menggunakannya di browser yang kurang modern
Jika Anda hanya ingin mengembalikan nama properti pertama yang cocok, Anda dapat mengembalikan hanya kunci pertama yang cocok yang ditemukan