PHP - Array Multidimensi: Panduan untuk Pemula

Hai teman-teman, para ahli PHP masa depan! Hari ini, kita akan memulai sebuah perjalanan menarik ke dunia array multidimensi. Jangan khawatir jika itu terdengar sedikit menakutkan - saya berjanji kita akan mengambil langkah demi langkah, dan pada akhir panduan ini, Anda akan dapat bermain dengan array seperti seorang ahli!

PHP - Multidimensional Array

Apa Itu Array Multidimensi?

Sebelum kita masuk ke dalam, mari kita mulai dengan dasar-dasar. Gamalkanlah array sebagai daftar sederhana dari item, seperti daftar belanja. Sekarang, bagaimana jika Anda ingin mengatur belanja Anda berdasarkan toko? Itulah tempat array multidimensi berguna!

Array multidimensi adalah array yang terdiri dari beberapa array. Itu seperti memiliki lemari filing (array utama) dengan berbagai drawer (sub-array), masing-masing berisi item yang berbeda.

mari lihat contoh sederhana:

$shopping = array(
"Grocery" => array("Apples", "Bread", "Milk"),
"Hardware" => array("Hammer", "Nails", "Screwdriver")
);

Dalam contoh ini, $shopping adalah array multidimensi kami. Itu mengandung dua sub-array: "Grocery" dan "Hardware", masing-masing dengan daftar itemnya sendiri.

Mengakses Elemen dalam Array 2D

Sekarang kita telah menciptakan array multidimensi, bagaimana kita mengakses elemennya? Itu sangat sederhana! Kita gunakan beberapa kurung siku [], satu untuk setiap dimensi.

<?php
$shopping = array(
"Grocery" => array("Apples", "Bread", "Milk"),
"Hardware" => array("Hammer", "Nails", "Screwdriver")
);

echo $shopping["Grocery"][0]; // Keluaran: Apples
echo $shopping["Hardware"][2]; // Keluaran: Screwdriver
?>

Dalam pernyataan echo pertama, kita mengakses sub-array "Grocery" dan kemudian elemen pertama (indeks 0) di dalamnya. Pernyataan echo kedua mengakses elemen ketiga (indeks 2) dalam sub-array "Hardware".

Mengulang Array 2D

Sekarang, bagaimana jika kita ingin melewati semua item dalam array multidimensi kita? Itulah tempat iterasi berguna. Kita dapat menggunakan loop foreach bersarang untuk mengulang setiap dimensi array.

<?php
$shopping = array(
"Grocery" => array("Apples", "Bread", "Milk"),
"Hardware" => array("Hammer", "Nails", "Screwdriver")
);

foreach ($shopping as $store => $items) {
echo "Belanja di $store:\n";
foreach ($items as $item) {
echo "- $item\n";
}
echo "\n";
}
?>

Kode ini akan mengeluarkan:

Belanja di Grocery:
- Apples
- Bread
- Milk

Belanja di Hardware:
- Hammer
- Nails
- Screwdriver

Loop foreach luar mengulang setiap toko, sedangkan loop foreach dalam mengulang item di setiap toko.

Array Multidimensi (Lebih Dari 2D)

Ayo kita naikkan tingkatannya! Array dapat memiliki lebih dari dua dimensi. mari buat array 3D untuk merepresentasikan sekolah dengan kelas dan siswa:

<?php
$school = array(
"Grade 1" => array(
"Class A" => array("John", "Emma", "Michael"),
"Class B" => array("Sophia", "William", "Olivia")
),
"Grade 2" => array(
"Class A" => array("James", "Ava", "Alexander"),
"Class B" => array("Charlotte", "Benjamin", "Mia")
)
);

// Mengakses siswa tertentu
echo $school["Grade 1"]["Class A"][1]; // Keluaran: Emma

// Mengulang seluruh struktur
foreach ($school as $grade => $classes) {
echo "$grade:\n";
foreach ($classes as $class => $students) {
echo "  $class:\n";
foreach ($students as $student) {
echo "    - $student\n";
}
}
echo "\n";
}
?>

Ini akan mengeluarkan seluruh struktur sekolah, tingkat demi tingkat, kelas demi kelas, dan siswa demi siswa.

Penelusuran Rekursif Array Multidimensi

Ketika berurusan dengan array yang mungkin memiliki jumlah dimensi yang tak tentu, fungsi rekursif datang ke bantuan kita. Berikut adalah fungsi yang dapat menelusuri array multidimensi apa pun:

<?php
function traverseArray($arr) {
foreach ($arr as $key => $value) {
if (is_array($value)) {
echo "$key adalah array:\n";
traverseArray($value);
} else {
echo "$key: $value\n";
}
}
}

$complex_array = array(
"Fruits" => array(
"Red" => array("Apple", "Cherry"),
"Yellow" => "Banana"
),
"Vegetables" => array(
"Leafy" => array("Spinach", "Kale"),
"Root" => "Carrot"
),
"Quantity" => 10
);

traverseArray($complex_array);
?>

Fungsi ini akan bekerja melalui array apa pun, tanpa menghiraukan berapa banyak dimensi yang ada!

Kesimpulan

Dan begitulah, teman-teman! Kita telah mengemban dunia menarik array multidimensi dalam PHP. Ingat, latihan membuat sempurna, jadi jangan khawatir untuk mencoba konsep ini. Buat array kompleks Anda sendiri, cobalah mengakses elemen yang berbeda, dan lihat apa yang terjadi saat Anda memodifikasinya.

Sebelum kita selesai, mari rangkum metode kunci yang kita pelajari untuk bekerja dengan array multidimensi:

Metode Deskripsi
Pembuatan Array Gunakan sintaks array() atau [] bersarang
Pengaksesan Elemen Gunakan beberapa kurung siku [][]
Iterasi Gunakan loop foreach bersarang
Penelusuran Rekursif Buat fungsi rekursif

Tetap mengoding, tetap belajar, dan sebelum Anda mengetahui, Anda akan dapat membuat struktur data kompleks dengan mudah. Sampaijumpa lagi, selamat PHPing!

Credits: Image by storyset