Belajar PHP Array: Panduan Lengkap Pengertian, Jenis, dan 25+ Contoh Array untuk Pemula

By | September 27, 2025

Belajar PHP Array: Panduan Lengkap Pengertian, Jenis, dan 25+ Contoh Array untuk Pemula

Pernah bayangin gimana repotnya kalau mau nyimpan data 100 mahasiswa tanpa array? Harus bikin 100 variable berbeda! Nah, array PHP itu seperti tas serba bisa yang bisa muat banyak data dalam satu wadah. Dari data user sampai produk e-commerce, dari config settings sampai hasil database – semuanya butuh array!

Dalam perjalanan belajar PHP, memahami array adalah step critical yang bakal bikin coding-mu naik level. Artikel ini bakal jadi guide paling komprehensif untuk menguasai contoh array dan segala jenisnya. Yuk, kita selami dunia array PHP dari dasar sampai advanced!

Apa Itu Array? Konsep Dasar yang Wajib Dipahami

Array adalah struktur data yang digunakan untuk menyimpan multiple values dalam satu single variable. Bayangkan array seperti:

  • Kotak sepatu: Satu kotak, banyak sepatu
  • Daftar belanja: Satu list, banyak item
  • Kelas sekolah: Satu kelas, banyak siswa

Mengapa Array Sangat Penting?

✅ Menyimpan banyak data terkait dalam satu tempat
✅ Memudahkan manipulasi data secara kelompok
✅ Efisien dalam processing data yang similar
✅ Fundamental untuk bekerja dengan database
✅ Digunakan di hampir semua aplikasi PHP

Jenis-Jenis Array dalam PHP

PHP punya beberapa jenis array yang perlu kamu kuasai:

1. Indexed Array (Array Berindeks Numerik)

Array dengan index angka yang dimulai dari 0.

// Cara 1: Deklarasi sederhana
$buah = array("Apel", "Mangga", "Jeruk", "Pisang");

// Cara 2: Short syntax (PHP 5.4+)
$buah = ["Apel", "Mangga", "Jeruk", "Pisang"];

// Cara 3: Assign manual per index
$buah[0] = "Apel";
$buah[1] = "Mangga";
$buah[2] = "Jeruk";
$buah[3] = "Pisang";

2. Associative Array (Array Asosiatif)

Array dengan key custom (bukan angka).

// Key-value pairs
$mahasiswa = [
    "nama" => "Budi Santoso",
    "nim" => "20240001",
    "jurusan" => "Teknik Informatika",
    "ipk" => 3.75
];

// Bisa juga menggunakan array() function
$mahasiswa = array(
    "nama" => "Budi Santoso",
    "nim" => "20240001", 
    "jurusan" => "Teknik Informatika",
    "ipk" => 3.75
);

3. Multidimensional Array (Array Multidimensi)

Array yang berisi array lainnya.

// Array 2 dimensi (seperti tabel)
$siswa = [
    ["Andi", "Jakarta", 85],
    ["Budi", "Bandung", 90],
    ["Citra", "Surabaya", 78]
];

// Array asosiatif multidimensi
$mahasiswa = [
    [
        "nama" => "Andi",
        "alamat" => "Jakarta",
        "nilai" => 85
    ],
    [
        "nama" => "Budi", 
        "alamat" => "Bandung",
        "nilai" => 90
    ],
    [
        "nama" => "Citra",
        "alamat" => "Surabaya", 
        "nilai" => 78
    ]
];

Cara Akses dan Manipulasi Array

Sekarang mari belajar bagaimana bekerja dengan array.

Akses Element Array

// Indexed array
$buah = ["Apel", "Mangga", "Jeruk"];
echo $buah[0]; // Output: Apel
echo $buah[1]; // Output: Mangga

// Associative array  
$mahasiswa = [
    "nama" => "Budi",
    "nim" => "20240001"
];
echo $mahasiswa["nama"]; // Output: Budi
echo $mahasiswa["nim"];  // Output: 20240001

// Multidimensional array
$data = [
    "siswa" => [
        "andi" => ["matematika" => 85, "fisika" => 78],
        "budi" => ["matematika" => 90, "fisika" => 88]
    ]
];
echo $data["siswa"]["budi"]["matematika"]; // Output: 90

Edit dan Update Array

$buah = ["Apel", "Mangga", "Jeruk"];

// Update value
$buah[1] = "Durian"; // Mengganti Mangga menjadi Durian

// Add new element
$buah[] = "Pisang"; // Menambah di akhir
$buah[3] = "Anggur"; // Menambah di index spesifik

// Untuk associative array
$mahasiswa = ["nama" => "Budi", "umur" => 20];
$mahasiswa["umur"] = 21; // Update age
$mahasiswa["jurusan"] = "TI"; // Add new key

Fungsi-Fungsi Built-in Array PHP yang Powerful

PHP menyediakan banyak fungsi built-in untuk memanipulasi array.

1. count() – Menghitung Jumlah Element

$buah = ["Apel", "Mangga", "Jeruk"];
echo count($buah); // Output: 3

$mahasiswa = [
    ["nama" => "Andi", "nilai" => 85],
    ["nama" => "Budi", "nilai" => 90]
];
echo count($mahasiswa); // Output: 2

2. array_push() & array_pop() – Stack Operations

$stack = ["Apel", "Mangga"];

// Tambah di akhir (push)
array_push($stack, "Jeruk", "Pisang");
// $stack sekarang: ["Apel", "Mangga", "Jeruk", "Pisang"]

// Hapus dari akhir (pop)
$last = array_pop($stack);
echo $last; // Output: Pisang
// $stack sekarang: ["Apel", "Mangga", "Jeruk"]

3. array_merge() – Menggabungkan Array

$array1 = ["a", "b", "c"];
$array2 = ["d", "e", "f"];
$array3 = ["g", "h"];

$gabungan = array_merge($array1, $array2, $array3);
// Hasil: ["a", "b", "c", "d", "e", "f", "g", "h"]

// Untuk associative array, key yang sama akan ditimpa
$arr1 = ["a" => "apple", "b" => "banana"];
$arr2 = ["b" => "blueberry", "c" => "cherry"];
$result = array_merge($arr1, $arr2);
// Hasil: ["a" => "apple", "b" => "blueberry", "c" => "cherry"]

4. array_search() – Mencari Value dalam Array

$buah = ["Apel", "Mangga", "Jeruk", "Pisang"];

$posisi = array_search("Jeruk", $buah);
echo $posisi; // Output: 2 (index dimana "Jeruk" ditemukan)

$posisi = array_search("Durian", $buah);
var_dump($posisi); // Output: bool(false) karena tidak ditemukan

5. in_array() – Cek apakah Value Ada

$buah = ["Apel", "Mangga", "Jeruk"];

if (in_array("Mangga", $buah)) {
    echo "Mangga ada dalam array!";
} else {
    echo "Mangga tidak ditemukan!";
}

// Output: Mangga ada dalam array!

// Cek dengan strict type checking
$numbers = [1, 2, 3, "4"];
var_dump(in_array(4, $numbers)); // true (loose comparison)
var_dump(in_array(4, $numbers, true)); // false (strict comparison)

Looping melalui Array

Ada beberapa cara untuk iterasi melalui array:

1. for Loop

$buah = ["Apel", "Mangga", "Jeruk", "Pisang"];

for ($i = 0; $i < count($buah); $i++) {
    echo "Buah ke-" . ($i + 1) . ": " . $buah[$i] . "<br>";
}

// Output:
// Buah ke-1: Apel
// Buah ke-2: Mangga  
// Buah ke-3: Jeruk
// Buah ke-4: Pisang

2. foreach Loop (Paling Umum)

// Untuk indexed array
$buah = ["Apel", "Mangga", "Jeruk"];

foreach ($buah as $b) {
    echo $b . "<br>";
}

// Untuk associative array
$mahasiswa = [
    "nama" => "Budi",
    "nim" => "20240001",
    "jurusan" => "TI"
];

foreach ($mahasiswa as $key => $value) {
    echo $key . ": " . $value . "<br>";
}

// Output:
// nama: Budi
// nim: 20240001  
// jurusan: TI

3. while + each() (Legacy Method)

// Cara lama, kurang umum digunakan sekarang
$buah = ["Apel", "Mangga", "Jeruk"];
reset($buah); // Reset pointer ke awal

while (list($key, $value) = each($buah)) {
    echo "$key: $value<br>";
}

Array Functions untuk Sorting

PHP punya banyak fungsi untuk mengurutkan array.

1. sort() – Mengurutkan Ascending

$numbers = [4, 2, 8, 1, 5];
sort($numbers);
print_r($numbers); // Output: [1, 2, 4, 5, 8]

$buah = ["Jeruk", "Apel", "Mangga"];
sort($buah);
print_r($buah); // Output: ["Apel", "Jeruk", "Mangga"]

2. rsort() – Mengurutkan Descending

$numbers = [4, 2, 8, 1, 5];
rsort($numbers);
print_r($numbers); // Output: [8, 5, 4, 2, 1]

3. asort() & ksort() – Untuk Associative Array

$usia = [
    "Budi" => 25,
    "Andi" => 30, 
    "Citra" => 22
];

asort($usia); // Sort by values (ascending)
print_r($usia);
// Output: ["Citra" => 22, "Budi" => 25, "Andi" => 30]

ksort($usia); // Sort by keys (ascending)  
print_r($usia);
// Output: ["Andi" => 30, "Budi" => 25, "Citra" => 22]

Contoh Array dalam Aplikasi Nyata

Mari lihat bagaimana array digunakan dalam scenario real-world.

1. Sistem Manajemen Produk E-commerce

$products = [
    [
        "id" => 1,
        "name" => "Laptop Dell XPS",
        "price" => 15000000,
        "category" => "Electronics",
        "stock" => 15,
        "features" => ["SSD 512GB", "RAM 16GB", "Intel i7"]
    ],
    [
        "id" => 2,
        "name" => "iPhone 15 Pro",
        "price" => 20000000, 
        "category" => "Electronics",
        "stock" => 8,
        "features" => ["Camera 48MP", "A17 Pro Chip", "5G"]
    ],
    [
        "id" => 3,
        "name" => "Nike Air Max",
        "price" => 2500000,
        "category" => "Fashion",
        "stock" => 25,
        "features" => ["Size 42", "Color: Black", "Air Cushion"]
    ]
];

// Menampilkan produk
foreach ($products as $product) {
    echo "<div class='product'>";
    echo "<h3>" . $product['name'] . "</h3>";
    echo "<p>Price: Rp " . number_format($product['price'], 0, ',', '.') . "</p>";
    echo "<p>Stock: " . $product['stock'] . "</p>";
    echo "<ul>";
    foreach ($product['features'] as $feature) {
        echo "<li>" . $feature . "</li>";
    }
    echo "</ul>";
    echo "</div>";
}

2. Sistem Penilaian Mahasiswa

$students = [
    [
        "nim" => "20240001",
        "name" => "Andi Wijaya",
        "grades" => [
            "matematika" => 85,
            "fisika" => 78,
            "pemrograman" => 92
        ]
    ],
    [
        "nim" => "20240002", 
        "name" => "Budi Santoso",
        "grades" => [
            "matematika" => 90,
            "fisika" => 88, 
            "pemrograman" => 85
        ]
    ]
];

// Hitung rata-rata setiap mahasiswa
foreach ($students as &$student) {
    $total = array_sum($student['grades']);
    $count = count($student['grades']);
    $student['average'] = round($total / $count, 2);
}

// Tampilkan hasil
echo "<table border='1'>";
echo "<tr><th>NIM</th><th>Nama</th><th>Matematika</th><th>Fisika</th><th>Pemrograman</th><th>Rata-rata</th></tr>";

foreach ($students as $student) {
    echo "<tr>";
    echo "<td>" . $student['nim'] . "</td>";
    echo "<td>" . $student['name'] . "</td>";
    echo "<td>" . $student['grades']['matematika'] . "</td>";
    echo "<td>" . $student['grades']['fisika'] . "</td>";
    echo "<td>" . $student['grades']['pemrograman'] . "</td>";
    echo "<td><strong>" . $student['average'] . "</strong></td>";
    echo "</tr>";
}
echo "</table>";

3. Konfigurasi Aplikasi

$config = [
    "database" => [
        "host" => "localhost",
        "username" => "root", 
        "password" => "",
        "dbname" => "myapp",
        "charset" => "utf8mb4"
    ],
    "application" => [
        "name" => "My Awesome App",
        "version" => "1.0.0",
        "debug" => true,
        "timezone" => "Asia/Jakarta"
    ],
    "email" => [
        "smtp_host" => "smtp.gmail.com",
        "smtp_port" => 587,
        "username" => "admin@myapp.com",
        "password" => "secret123"
    ]
];

// Akses config
echo "App Name: " . $config['application']['name'] . "<br>";
echo "Database: " . $config['database']['host'] . "<br>";
echo "SMTP Port: " . $config['email']['smtp_port'] . "<br>";

// Update config berdasarkan environment
if ($_SERVER['SERVER_NAME'] == 'localhost') {
    $config['application']['debug'] = true;
    $config['database']['password'] = 'localpass';
} else {
    $config['application']['debug'] = false;
    $config['database']['password'] = 'productionpass';
}

Tips dan Best Practices

1. Gunakan Array Functions daripada Manual Loop

// ❌ Manual loop (less efficient)
$numbers = [1, 2, 3, 4, 5];
$squared = [];
foreach ($numbers as $num) {
    $squared[] = $num * $num;
}

// ✅ Array functions (more efficient)
$numbers = [1, 2, 3, 4, 5];
$squared = array_map(function($num) {
    return $num * $num;
}, $numbers);

2. Validasi Array sebelum Diproses

// Selalu check jika array ada dan tidak kosong
$data = $_POST['user_data'] ?? [];

if (!empty($data) && is_array($data)) {
    // Process the array
    foreach ($data as $item) {
        // Safe processing
    }
} else {
    echo "Data tidak valid atau kosong!";
}

3. Gunakan Array Shorthand di PHP 5.4+

// ❌ Old way (masih work, tapi kurang modern)
$fruits = array('apple', 'banana', 'orange');

// ✅ Modern way (PHP 5.4+)
$fruits = ['apple', 'banana', 'orange'];

Common Mistakes dan Cara Menghindarinya

1. Undefined Index Error

// ❌ Error jika key tidak ada
$arr = ['a' => 1, 'b' => 2];
echo $arr['c']; // Warning: Undefined index

// ✅ Safe access
echo $arr['c'] ?? 'Default value'; // Output: Default value
echo isset($arr['c']) ? $arr['c'] : 'Not found';

2. Modifikasi Array selama Iterasi

// ❌ Dangerous - modifying during iteration
$numbers = [1, 2, 3, 4];
foreach ($numbers as &$num) {
    if ($num == 2) {
        unset($numbers[array_search($num, $numbers)]);
    }
}

// ✅ Safe - work on copy or use array functions
$numbers = [1, 2, 3, 4];
$numbers = array_filter($numbers, function($num) {
    return $num != 2;
});

Kesimpulan: Array adalah Jantung PHP Programming

Menguasai array PHP adalah fundamental skill yang akan membuka banyak pintu dalam belajar PHP. Dari simple data storage sampai complex application logic, array selalu ada.

Key takeaways:

  • Pahami perbedaan indexed, associative, dan multidimensional array
  • Kuasa fungsi-fungsi built-in array yang powerful
  • Practice dengan contoh array real-world scenarios
  • Selalu validasi dan handle errors dengan baik
  • Gunakan modern PHP features dan best practices

Dengan menguasai array, kamu sudah melangkah jauh dalam perjalanan menjadi PHP developer yang proficient. Selamat practicing!