Memahami Array Pada PHP

Pada kesempatan kali ini kita akan membahas array pada PHP. array ini merupakan salah satu tipe data yang hampir pasti digunakan oleh programmer PHP, karena fungsionalitas-nya dalam menampung data, satu array bisa menampung puluhan bahkan ratusan data.

Pembahasan tentang array tentu saja sangat luas, yang mungkin jika di tulis bisa menghabiskan satu buku, jadi di tulisan yang singkat ini kita akan bahas pokok pokok tentang array dan fungsi fungsi yang sering digunakan.

I. Memahami array

Array biasanya disimpan dalam sebuah variabel, namun mulai PHP 7, kita dapat menyimpan array pada konstanta, pembahasannya ada disini. Agar mudah dipahami, array dapat digambarkan seperti tabel yang memiliki dua buah kolom, misal:

Memahami Array Pada PHP

Value dari array juga bisa berbentuk array (menjadi key  dari array yang lain), contoh

Array Multidimensi

Pada contoh diatas, value Mobil dan Motor menjadi key dari array  mobil dan array  motor,  bentuk ini disebut Array Multidimensi (Multidimensional Array), akan kita bahas  nanti

II. Penulisan Array Pada PHP

Array pada PHP dapat ditulis dengan dua cara, yaitu menggunakan fungsi  array()  atau cukup menggunakan kurung siku  [], contoh:

<?php
$kendaraan = []; // mulai PHP 5.4
$kendaraan = array();

Kurung siku [] mulai dapat digunakan mulai PHP 5.4 keatas, dan saat ini, PHP sudah mencapai versi 8, karena kemiripannya dengan bahasa pemrograman lain, seperti javascript, maka penggunaan kurung siku sangat disarankan.

1 Indexed Array dan  Associative Array

Berdasarkan key nya, array pada PHP dapat dibagi menjadi dua jenis yaitu Indexed Array (array berindex) dan  Associative Array.

Indexed array  berarti bahwa array tersebut memiliki key berupa angka yang berurutan, contoh seperti pada tabel 1:

$kendaraan = ['Mobil', 'Motor', 'Sepeda', 'Truk', 'Bus'];

Pada contoh diatas, index (key) dimulai dari angka 0, 1, dst… dimana 0 untuk Mobil, 2 untuk Motor, dst… Angka awal index ini dapat kita ubah menjadi satu, contoh:

$bulan = [1 => 'Januari', 'Februari', 'Maret', 'April', 'Mei'];

Disamping itu kita juga bisa mendefinisikan index sendiri, misal:

$kendaraan = ['Mobil', 'Motor', 5 => 'Sepeda', 'Truk', 'Bus'];

Associative array berarti bahwa kita mendefinisikan sendiri key dari array tersebut, contoh:

$user = [ 'id' => 786,  'pass' => 123, 'role' => 'admin' ];

Pada contoh diatas, PHP menggunakan tanda =>  untuk memasangkan key  dengan value  nya

2 Lebih Lanjut: Key dan Value Dalam Array

array  selalu terdiri dari pasangan key dan value baik untuk associative array maupun indexed array. Istilah key ini penting karena akan digunakan untuk memanggil value dari array.

$user = [ 'id' => 786,  'pass' => 123, 'role' => 'admin' ];

key selalu berada disebelah kiri dan value selalu berada disebelah kanan, pada contoh variabel $user diatas, yang berfungsi sebagai key adalah id, pass, dan role, sedangkan yang berfungsi sebagai value adalah: 786, 123, dan admin

Sedangkan untuk indexed array, maka key nya berupa angka (numeric) yang secara default selalu  dimulai dari angka nol, misal melanjutkan contoh sebelumnya:

$kendaraan = ['Mobil', 'Motor', 'Sepeda', 'Truk', 'Bus'];
echo '<pre>'; print_r($kendaraan);
/* HASIL:
Array
(
 [0] => Mobil
 [1] => Motor
 [2] => Sepeda
 [3] => Truk
 [4] => Bus
)
*/

Meskipun awalnya tidak terlihat, maka ketika kita cetak array tersebut, terlihat bahwa masing masing value memiliki key, yaitu 0 untuk Mobil, 1 untuk Motor, 2 untuk Sepeda, dst…

3 Array Multidimensi

Array bisa memilki kedalaman yang tidak terbatas, yang sering disebut array multidimensi, bisa dua dimensi, tiga, dst… Multidimensi disini dapat diibaratkan  array didalam array, maksudnya value dari suatu array  menjadi index dari array yang lain, sehingga value ini bentuknya juga array, contoh:

Kita terjemahkan array multidimensi seperti contoh pada tabel sebelumnya:

$kendaraan = [
		['Mobil' => ['merk' => 'Toyota', 'type' => 'Vios', 'year' => '2016']], // value mobil menjadi index
		'Sepeda', 
		'Truk', 
		['Motor' => ['Honda', 'Yamaha', 'Suzuki']], // value motor menjadi index
		'Bus'
	];
echo '<pre>'; print_r($kendaraan);

/* HASIL:
Array
(
    [0] => Array
        (
            [Mobil] => Array
                (
                    [merk] => Toyota
                    [type] => Vios
                    [year] => 2016
                )

        )

    [1] => Sepeda
    [2] => Truk
    [3] => Array
        (
            [Motor] => Array
                (
                    [0] => Honda
                    [1] => Yamaha
                    [2] => Suzuki
                )

        )

    [4] => Bus
)
*/

III.  Mengakses Value Array Pada PHP

Untuk mengakses value dari array, maka kita gunakan key dari value yang penulisannya diapit dengan kurung siku [], contoh:

$kendaraan = ['Mobil', 'Motor', 'Sepeda', 'Truk', 'Bus'];
echo $kendaraan[1]; // Motor
echo $kendaraan[2]; // Sepeda

Demikian juga dengan array multidimensi:

$kendaraan = [
		['Mobil' => ['merk' => 'Toyota', 'type' => 'Vios', 'year' => '2016']], // value mobil menjadi index
		'Sepeda', 
		'Truk', 
		['Motor' => ['Honda', 'Yamaha', 'Suzuki']], // value motor menjadi index
		'Bus'
	];
echo $kendaraan[0]['Mobil']['merk']; // Toyota
echo $kendaraan[1]; // Sepeda
echo $kendaraan[3]['Motor']; // Tercetak Array dan muncul Warning karena hasilnya masih berbentuk array, dan array tidak bisa di echo
echo $kendaraan[3]['Motor'][1]; // Yamaha

Cara lainnya adalah menggunakan foreach loop, contoh:

$mobil = ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
echo '
<table>
	<tr>
		<th>Key</th>
		<ht>Value</th>
	</tr>';	
foreach ($mobil as $key => $value)
{
	echo '<tr>
			<td>'. $key .'</td>
			<td>'. $value .'</td>
		</tr>';
}
echo '</table>';

Hasilnya:

Key Value
merk Toyota
type Vios
year 2016

IV. Menambah / Menghapus Element  Pada Array

1 Menambah element pada array

Untuk menambah element pada array, bisa kita lakukan dengan menggunakan tanda kurung siku, baik berisi  key  maupun tidak, contoh:

$bulan[1] 	= 'Januari'; // Dengan mendefinisikan index: 1
$bulan[] 	= 'Februari'; // PHP akan melanjutkan ke index berikutnya, yaitu 2
$bulan[] 	= 'Maret';
echo $bulan[2]; // Februari

Contoh untuk associative array:

<?php
$mobil = ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
$mobil['color'] = 'Silver';
echo '<pre>'; print_r($mobil);
/* HASIL
Array
(
    [merk] => Toyota
    [type] => Vios
    [year] => 2016
    [color] => Silver
)*/

Lebih jauh, terdapat banyak fungsi untuk menambahkan element pada array, selengkapnya bisa dibaca disini.

2 Menghapus element array

Terdapat dua fungsi untuk menghapus element dari array, yang pertama adalah fungsi  unset(array[key]), misal:

<?php
$mobil 	= ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016];
unset($mobil['type']);

$kendaraan = ['Mobil', 'Motor', 'Sepeda', 'Truk', 'Bus'];
unset($kendaraan[0]);

Contoh diatas adalah contoh untuk menghapus satu element array, untuk menghapus beberapa elemen array sekaligus, kita cukup tambahkan list element yang kita hapus pada fungsi unset diatas, misal

<?php $mobil = ['merk' => 'Toyota', 'type' => 'Vios', 'year' => 2016]; 
unset($mobil['type'], $mobil['merk']); 

$kendaraan = ['Mobil', 'Motor', 'Sepeda', 'Truk', 'Bus']; 
unset($kendaraan[0], $kendaraan[1]);

Selain cara diatas, cara lain yang dapat digunakan untuk menghapus elemen array adalah menggunakan fungsi array_slice,  fungsi ini sama seperti fungsi substr pada string, yaitu mengambil beberapa bagian dari array dan menghapus sisanya, contoh:

<?php
$kendaraan = ['Mobil', 'Motor', 'Sepeda', 'Truk', 'Bus'];
$arr = array_slice($kendaraan, 1, 2);
echo '<pre>'; print_r($arr);
/* HASIL
Array
(
    [0] => Motor
    [1] => Sepeda
)*/

Pada contoh tersebut kita ambil element array mulai dari index ke 1  (Motor) dan diambil sebanyak 2 element. Untuk mengetahui lebih jauh tentang fungsi array_slice, silakan mengunjungi  halaman: PHP: array_slice – Manual

Terdapat banyak fungsi lain terkait array, beberapa diantaranya sering kita gunakan, pembahasan mengenai hal ini dapat diikuti pada tutorial:  15+ Fungsi Terkait Array Pada PHP Yang Perlu Anda Tahu

V. Menggbung Element Pada Array

Pada kondisi tertentu, kita ingin menggabungkan menjadi satu semua element pada array menjadi satu string tunggal dengan pemisah tertentu, untuk melakukannya, kita dapat menggunakan fungsi join() atau implode(), fungsi join() sendiri merupakan alias dari fungsi implode(), sebagai contoh:

$kendaraan = ['Mobil', 'Motor', 'Sepeda', 'Truk', 'Bus']; 
echo join(', ', $kendaraan);
// Hasil: Mobil, Motor, Sepeda, Truk, Bus

echo implode(', ', $kendaraan);
// Hasil: Mobil, Motor, Sepeda, Truk, Bus

Cara diatas dapat digunakan pada semua versi PHP, pada php versi < 7.4 kita dapat mendefinisikan string penghubung (glue) sesudah array, misal:

$kendaraan = ['Mobil', 'Motor', 'Sepeda', 'Truk', 'Bus']; 
echo join($kendaraan, ', '); 
// Hasil: Mobil, Motor, Sepeda, Truk, Bus

echo implode($kendaraan, ', '); 
// Hasil: Mobil, Motor, Sepeda, Truk, Bus

Namun mulai PHP versi 7.4 cara diatas sudah deprecated, yang artinya akan dihilangkan pada versi berikutnya, sehingga lebih amannya menggunakan versi pertama.

Demikian pembahasan mengenai Array Pada PHP

Semoga bermanfaat.

Subscibe Now

Suka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com

Komitmen Kami: Kami senantiasa menghargai privasi Anda dan tidak akan membagikan identitas Anda ke pihak manapun.

22 Feedback dari pembaca

Silakan tinggalkan komentar

Newsletter

Jadilah yang pertama tahu berita terbaru dari Jagowebdev.com