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:
Value dari array juga bisa berbentuk array (menjadi key
dari array yang lain), contoh
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
22 Feedback dari pembaca
Informasi yang sangat bagus sekali
http://frieyadie.web.id
Terimakasih, saya banyak terbantu.
Sama sama mas….
Makasi info nya
singkat jelas padat. thanks tutorialnya mas agus
Sama sama mas…
Terima Kasih mas, sangat Bagus, mudah di fahami bahasanya,
Oia gk ada versi videonya mas?
Terima kasih mas
Mohon maaf belum ada versi video nya
artikel yang bagus, sangat membantu
sangat membantu mas
Mau bertanya saya dapat tugas seperti halnya dibawah ini
– buat array yang valuenya mempunyai nama, tinggi badan dan usia
– buat fungsi yang bila memasukan tinggi badan lebih dari 170 cm . print “LULUS”
– menngunakan array multidimensional
adakah yang berkenan membantu tugas saya ini
mohon bantuanya master
sekian terimakasih
Bisa dicoba ini mas:
Kedua:
terimakasih ,izin dijadikan referensi
Sama sama mas, silakan…
Tanya:
Cara memasukkan hasil looping query ke array gimana ya?
Tujuan saya, ingin buat cek dengan if (in_array($array, $data));
Maturnuwun.
Maaf belum paham maksud pertanyaannya mas
selamat pagi, codingan dalam bentuk php atau dartnya gimana ya pak ?
sampel output :
|****12|***444|*54643|**3155|
|667543|**8637|*****0|***369|
|**7516|***335|
Maaf belum dapet polanya mas…
halo Pak Agus, saya mau tanya..
saya punya variabel 1 isinya array numerik,
[
1,
21,
4,
15
]
dan variabel 2 isinya array multidimensi,
[
{
id: 2,
guest_id: 100012,
score: 2123
},
{
id: 3,
guest_id: 100015,
score: 1063
},
{
id: 5,
guest_id: 100014,
score: 2023
},
{
id: 7,
guest_id: 100013,
score: 1143
}
]
pertanyaannya: bagaimana ya cara memasukan isi array numerik ke dalam array multidimensinya dengan menambahkan key “level”?
output yang diinginkan yaitu sebuah variabel yang isinya seperti berikut (berisi gabungan antara variabel 1 dan variabel 2) :
[
{
id: 2,
level: 1,
guest_id: 100012,
score: 2123
},
{
id: 3,
level: 21,
guest_id: 100015,
score: 1063
},
{
id: 5,
level: 4,
guest_id: 100014,
score: 2023
},
{
id: 7,
level: 15,
guest_id: 100013,
score: 1143
}
]
Tolong bantuannya ya, terimakasih Pak 🙂
Di loop array numericnya kemudian di masukkan nilainya ke array multidimensi:
halo Pak Agus,
kalo array multi-dimensi acak sprti pd contoh ini :
$kendaraan = [
[‘Mobil-KU’ => [‘merk’ => ‘Toyota’, ‘type’ => ‘Vios’, ‘year’ => ‘2016’]], // value mobil menjadi index
‘Sepeda-KU’,
‘Truk-KU’,
[‘Motor-KU’ => [‘Honda’, ‘Yamaha’, ‘Suzuki’]], // value motor menjadi index
‘Bus’
]
bisa dilooping kah untuk menginsert hasilnya ke tabel?
Bisa mas, nanti di loopingnya di tes apakah value nya berupa array atau bukan, kalau array di loop lagi