PHP - Array multidimensi: Panduan Pemula

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

PHP - Multidimensional Array

Apa Itu Array Multidimensi?

Sebelum kita melompat ke dalam, mari mulai dari dasar. Gamalkan array seperti daftar item sederhana, misalnya daftar belanja. Sekarang, bagaimana jika Anda ingin mengatur belanja Anda berdasarkan toko? Itu adalah saat array multidimensi berguna!

Array multidimensi secara esensial adalah array yang berisi 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 kita. Itu berisi 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? 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]; // Keluar: Apples
echo $shopping["Hardware"][2]; // Keluar: Screwdriver
?>

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

Mengulang Array 2D

Apa bila kita ingin mengulang semua item di array multidimensi kita? Itu adalah saat 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 naikkan tingkatnya! Array dapat memiliki lebih dari dua dimensi. mari buat array 3D untuk mewakili 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]; // Keluar: 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, kelas per kelas, dan siswa per siswa.

Penelusuran Rekursif Array Multidimensi

Saat berurusan dengan array yang mungkin memiliki jumlah dimensi yang tak diketahui, fungsi rekursif datang ke bantuan kita. mari buat fungsi yang dapat mengelusuri 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!

Penutup

Dan itu dia, teman-teman! Kita telah melakukan perjalanan menarik melalui dunia array multidimensi di PHP. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba konsep ini. Buat array 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
Akses Elemen Gunakan beberapa kurung siku [][]
Iterasi Gunakan loop foreach bersarang
Penelusuran Rekursif Buat fungsi rekursif

Terus coding, terus belajar, dan sebelum Anda tahu, Anda akan dapat membuat struktur data kompleks dengan mudah. Sampai jumpa lagi, selamat PHPing!

Credits: Image by storyset