Belajar PHP Array, Asosiative Array dan Multidimensional Array

Belajar PHP Array, Asosiative Array dan Multidimensional Array

Array didalam PHP dibagi menjadi tiga, yaitu:


  1. Array
  2. Assoative Array
  3. Multidimensional Array

Apa saja perbedaan dari 3 jenis array tersebut, berikut penjelasannya.


1. Array

Array adalah sebuah variabel yang bisa menampung lebih dari satu nilai. Sebagai contoh ada sekumpulan siswa yang sedang belajar ngoding yang memiliki nama Saifur, Mega, Ulul,Kamal, Adi, Aldi, dan Aji. Maka kita bisa merepresentasikan dalam php sebagai berikut:

$belajarngoding = ['saifur','mega','ulul','kamal','adi','aldi','aji'];

Di dalam sebuah array, kita bisa mengakses sebuah nilai dengan memanggil index-nya. Index sendiri merepresentasikan urutan posisi elemen, dimana urutan pertama dimulai dari 0. Sebagai ilustrasinya adalah sebagai berikut:

  • Elemen pertama (dengan index 0): Saifur
  • Elemen kedua (dengan index 1): Mega
  • Elemen ketiga (dengan index 2): Ulul
  • Elemen keempat (dengan index 3): Kamal
  • Elemen kelima (dengan index 4): Adi
  • Elemen keenam (dengan index 5): Aldi
  • Elemen ketujuh (dengan index 6): Aji

Sehingga bisa ditarik kesimpulan, sebuah array bisa dianggap sebagai tabel berikut

$belajarngodingsaifurmegaululkamaladialdiaji
index0123456

Menampilkan satu elemen array

Untuk mengakses Mega, maka kita bisa melakukan seperti berikut

echo $belajarngoding[1];

Dimana Mega berada pada elemen kedua, index ke 1. Sehingga yang digunakan adalah index 1.

Satu elemen array adalah key => value

Adapun penulisan array di atas adalah hal yang dianjurkan dalam penulisan array di dalam PHP. Akan tetapi penulisan array dalam PHP diatas memiliki padanan sebagai berikut

$belajarngoding = [  0 => 'saifur',  1 => 'mega',  2 => 'ulul',  3 => 'kamal',  4 => 'adi',  5 => 'aldi',  6 => 'aji'];

Kode diatas tampak lebih panjang dari sebelumnya, dan bisa dilihat kita menuliskan secara eksplisit index nya masing-masing, atau biasa juga disebut sebagai key sehingga bisa disimpulkan sebuah elemen array terdiri key dan value-nya, atau biasa dinotasikan dengan key => value 

Menampilkan semua elemen array

Untuk mencetak semua elemen dalam array bisa menggunakan fungsi foreach(), yang memang peruntukannya adalah untuk melakukan looping khusus untuk data array. Sintaksnya adalah sebagai berikut

foreach($belajarngoding as $data) {
  echo $data . ' '.;
}

Terdapat statement as $data, yang berarti $data mewakili satu elemen di dalam array, dan dia akan terus di-looping selama elemen dalam array belum habis.

Debugging array

Fungsi foreach digunakan untuk menampilkan data array di browser yang disajikan ke user. Sedangkan dari sisi programmer kita bisa melakukan debugging dengan cara mengecek apakah elemen dari array (entah satu atau semua elemen) sesuai dengan yang dikehendaki oleh programmer. Untuk melakukan debugging bisa menggunakan perintah var_dump()

echo "<pre>";
var_dump($belajarngoding);
echo "</pre>";

2. Associative Array

Pada array dalam PHP bisa dilihat key nya selalu berupa angka integer dengan mulai dari angka 0. Dengan asosiative array memungkinkan kita untuk membuat array dengan menggunakan key berupa string, seperti contoh dibawah ini

$mahasiswa = [
   'nama' => 'saifur',
   'alamat' => 'kalinyamatan',
   'tanggal_lahir' => '5 Maret 1997',
   'umur' => 22
];

Menampilkan semua elemen assosiative array

Untuk menampilkan semua elemen pada assosiative array yaitu sama dengan menggunakan fungsi foreach

foreach($mahasiswa as $data){
  echo $data.' ';
}

Jika kita memerlukan key dari assosiative array, maka tambahkan keyword as $key=>value seperti dibawah ini

foreach($mahasiswa as $k => $v){
    echo $k.':'.$v .'<br/>';
}

3. Multidimensional Array

Multidimensional array bisa kita sebut sebagai array didalam array. Contoh penggunaan array dalam array seperti kita mengenal sebuah matriks yang terdiri dari 3 angka kesamping dan 3 angka kebawah , maka di dalam array multidimensi penulisannya adalah sebagai berikut

$arraymultidimensi = [
   [2,3,5],
   [7,6,10],
   [5,7,8],
];

Karena array tidak mengenal kolom, maka array akan menganggap tiap baris mewakili sebuah index. Jadi padanan kode diatas sebenarnya adalah sebagai berikut

$arraymultidimensi = [
   0 => [2,3,5],
   1 => [7,6,10],
   2 => [5,7,8],
];

Debugging multidimensional array

sama seperti array sebelumnya, debugging dengan menggunakan var_dump

echo "<pre>";
var_dump($arraymultidimensi);
echo "</pre>";

Menampilkan semua elemen multidimensional array

Adapun multidimensional array akan sering kita pakai jika sudah menggunakan database. Jadi ketika php memanggil sebuah database, hasilnya akan ditampung dalam sebuah array. Contoh misalnya kita memiliki sekumpulan array dari mahasiswa, maka sintaksnya adalah sebagai berikut:

$mahasiswas = [
    [
        'nama' => 'saifur',
        'alamat' => 'kalinyamatan',
        'tanggal_lahir' => '5 Maret 1997',
        'umur' => 22
    ],
    [
        'nama' => 'mega',
        'alamat' => 'lebak',
        'tanggal_lahir' => '24 Mei 1999',
        'umur' => 0,
    ],
];

Untuk menampilkan elemen mutidimensional array, sama seperti sebelumnya yaitu menggunakan foreach. Masih diingat jika dalam multidimensional array diatas memiliki $key berupa index dan $value berupa satu array identitas mahasiswa.

foreach ($mahasiswas as $mahasiswa){
    echo "Nama: ".$mahasiswa['nama']."<br/>";
    echo "Alamat: ".$mahasiswa['alamat']."<br/>";
    echo "Tanggal Lahir: ".$mahasiswa['tanggal_lahir']."<br/>";
    echo "Umur: ".$mahasiswa['umur']."<br/>";
}

Adapun bisa kita permanis dengan membungkusnya dengan tabel seperti berikut

<table border="1">
    <tr>
        <td>No</td>
        <td>Nama</td>
        <td>Alamat</td>
        <td>Tanggal Lahir</td>
        <td>Umur</td>
    </tr>
<?php
$no = 1;
foreach($mahasiswas as $mahasiswa){
    echo "<tr>";
    echo "<td>".$no."</td>
        <td>".$mahasiswa['nama']."</td>
        <td>".$mahasiswa['alamat']."</td>
        <td>".$mahasiswa['tanggal_lahir']."</td>
        <td>".$mahasiswa['umur']."</td>";
    echo "</tr>";
    $no++;
}
?>
</table>

Kode Selengkapnya:


Komentar