0Pricing
PHP Academy · Pelajaran

Array Multidimensi

Membangun dan menelusuri array yang berisi array.

Array Multidimensi adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar PHP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus PHP Academy mencakup 4 pelajaran total.

Larik Multidimensi

Larik multidimensi adalah larik yang setiap elemennya juga merupakan larik. Larik ini umum digunakan untuk data terstruktur seperti hasil basis data atau struktur pohon konfigurasi.

Pembuatan Larik 2D

Buat dan akses larik dua dimensi:

<?php
$matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
];

echo $matrix[1][2]; // 6 (row 1, col 2)
$matrix[0][0] = 99;
echo $matrix[0][0]; // 99

Larik Berisi Larik Asosiatif

Kumpulan hasil basis data sering kali berupa larik yang berisi larik asosiatif:

<?php
$users = [
    ['id' => 1, 'name' => 'Alice', 'role' => 'admin'],
    ['id' => 2, 'name' => 'Bob',   'role' => 'user'],
    ['id' => 3, 'name' => 'Carol', 'role' => 'user'],
];

echo $users[0]['name'];  // Alice
echo count($users);      // 3

Menelusuri Larik 2D

Gunakan foreach bersarang untuk menelusuri semua baris dan kolom:

<?php
$products = [
    ['name' => 'Widget', 'price' => 9.99],
    ['name' => 'Gadget', 'price' => 24.99],
];

foreach ($products as $product) {
    echo $product['name'] . ': $' . $product['price'] . PHP_EOL;
}

Mengakses Kunci Bersarang dengan Aman

Gunakan operator penggabungan NULL untuk mengakses kunci bersarang yang mungkin tidak ada dengan aman:

<?php
$config = [
    'database' => ['host' => 'localhost', 'port' => 3306],
    'cache'    => ['driver' => 'redis'],
];

$port     = $config['database']['port'] ?? 3306;
$password = $config['database']['password'] ?? '';

echo $port;     // 3306
echo $password; // (empty)

Menambahkan ke Larik Bersarang

Tambahkan elemen jauh di dalam larik multidimensi:

<?php
$app = [];
$app['settings']['theme'] = 'dark';
$app['settings']['lang']  = 'en';

$app['users'][] = ['name' => 'Alice'];
$app['users'][] = ['name' => 'Bob'];

echo count($app['users']);       // 2
echo $app['settings']['theme'];  // dark

array_column()

array_column() mengekstrak satu kolom dari larik 2D:

<?php
$users = [
    ['id' => 1, 'name' => 'Alice'],
    ['id' => 2, 'name' => 'Bob'],
    ['id' => 3, 'name' => 'Carol'],
];

$names = array_column($users, 'name');
print_r($names); // ['Alice', 'Bob', 'Carol']

// Re-index by id
$byId = array_column($users, null, 'id');
echo $byId[2]['name']; // Bob

Mengurutkan Larik 2D

Urutkan baris berdasarkan nilai bidang menggunakan usort():

<?php
$products = [
    ['name' => 'C Item', 'price' => 30],
    ['name' => 'A Item', 'price' => 10],
    ['name' => 'B Item', 'price' => 20],
];

usort($products, fn($a, $b) => $a['price'] <=> $b['price']);

foreach ($products as $p) {
    echo $p['name'] . PHP_EOL; // A Item, B Item, C Item
}

Operasi Rekursif dengan array_walk_recursive

Terapkan fungsi panggilan balik ke setiap simpul daun dalam larik bersarang dengan array_walk_recursive():

<?php
$data = ['a' => 'hello', 'b' => ['c' => 'world', 'd' => 'php']];

array_walk_recursive($data, function(&$val) {
    $val = strtoupper($val);
});

print_r($data);
// ['a'=>'HELLO', 'b'=>['c'=>'WORLD','d'=>'PHP']]

JSON dan Larik Multidimensi

Larik multidimensi PHP dapat dipetakan langsung ke objek dan larik JSON:

<?php
$data = [
    'user'    => ['id' => 1, 'name' => 'Alice'],
    'scores'  => [95, 87, 92],
    'active'  => true,
];

$json = json_encode($data, JSON_PRETTY_PRINT);
echo $json;

$decoded = json_decode($json, true); // true = assoc array
echo $decoded['user']['name']; // Alice

array_merge vs array_replace untuk Larik Bersarang

array_merge tidak bersifat rekursif; gunakan array_replace_recursive untuk menggabungkan larik bersarang dengan benar:

<?php
$defaults = ['db' => ['host' => 'localhost', 'port' => 3306]];
$custom   = ['db' => ['host' => 'production.server.com']];

$config = array_replace_recursive($defaults, $custom);
echo $config['db']['host'];  // production.server.com
echo $config['db']['port'];  // 3306 — preserved from defaults

Pemeriksaan Singkat

Fungsi mana yang mengekstrak satu kolom nilai dari larik 2D?

Ringkasan: Larik Multidimensi

Poin-poin utama:

  • Sarang­kan larik hingga kedalaman berapa pun
  • Gunakan ?? untuk mengakses kunci bersarang yang hilang dengan aman
  • array_column() mengekstrak kolom atau mengindeks ulang berdasarkan kunci
  • usort() dengan pembanding dapat mengurutkan berdasarkan bidang apa pun
  • array_walk_recursive() untuk transformasi mendalam
  • array_replace_recursive() untuk penggabungan mendalam

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Array Multidimensi” gratis?

Ya — teks lengkap “Array Multidimensi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus PHP Academy, upgrade ke CoddyKit PRO. Kursus PHP Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Array Multidimensi”?

Membangun dan menelusuri array yang berisi array. Kamu berlatih PHP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai PHP Academy?

Tidak diperlukan pengalaman sebelumnya. PHP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Array Multidimensi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran PHP Academy ini?

Ya. Setiap pelajaran PHP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Array Berindeks dan Asosiatif
  2. Array Multidimensi
  3. Mengurutkan dan Mencari Array
  4. Fungsi Transformasi Array
← Kembali ke PHP Academy