Menu

Array PHP: Cara Membuat, Mengakses, Loop, dan Mencetak

Array PHP adalah list nilai yang berurutan, dan setiap nilai disimpan di sebuah key: $fruits = ['apple', 'banana']; dibaca sebagai $fruits[0]. Pelajari cara membuat array, membaca dan mengubah elemen, menelusurinya dengan loop, mencetaknya, dan fungsi array mana yang perlu dipakai.

Halaman ini dilengkapi editor yang bisa dijalankan. Edit, jalankan, dan lihat output-nya seketika.

Array PHP menyimpan list nilai di bawah key. Buat array dengan kurung siku, $fruits = ['apple', 'banana', 'cherry'];, lalu baca elemennya dengan indeks, $fruits[0]. Indeks dimulai dari 0, dan count($fruits) memberi jumlah elemennya.

Setiap array PHP adalah map yang berurutan: setiap nilai berada di sebuah key. Kalau kamu tidak memilih key-nya, PHP menomorinya 0, 1, 2... dan kamu mendapatkan indexed array. Kalau kamu memilihnya sendiri (['name' => 'Ada']), kamu mendapatkan array asosiatif. Keduanya bertipe array yang sama.

Membuat array

Kurung siku adalah sintaks yang biasa dipakai. array() adalah penulisan lama dan menghasilkan hal yang persis sama. range() membuat list angka atau huruf, dan array_fill() mengulang satu nilai.

Array PHP bisa menampung nilai dengan tipe berbeda sekaligus, termasuk array lain. Array berisi array disebut array multidimensi, cara yang biasa dipakai untuk menyimpan baris-baris data.

Mengambil elemen pertama dan terakhir

PHP tidak punya indeks negatif. $arr[-1] tidak berarti "yang terakhir": ia mencari key bernama -1, dan kalau tidak ada, PHP mencetak Warning: Undefined array key -1. Pakai array_key_first() dan array_key_last(), yang juga bekerja saat key-nya tidak dimulai dari 0.

end($queue) juga mengembalikan nilai terakhir, tetapi efek sampingnya memindahkan pointer internal array, jadi versi yang memakai key adalah pilihan yang lebih jelas.

Mencetak array

echo $arr tidak bekerja: yang tercetak hanya kata Array disertai warning. Pilih output yang sesuai kebutuhan:

  • print_r($arr) untuk tampilan yang mudah dibaca saat debugging.
  • var_dump($arr) untuk melihat juga tipe dan panjang setiap nilai.
  • implode(', ', $arr) untuk mengubah nilainya menjadi satu string untuk ditampilkan.
  • json_encode($arr) untuk mengirim array ke JavaScript atau API.

Halaman print_r dan var_dump membahas pilihan formatnya, termasuk mencetak array di dalam HTML.

Menelusuri array dengan loop

foreach adalah loop yang dibuat untuk array: ia memberimu setiap nilai, dan juga key-nya kalau kamu minta. Loop for dengan indeks juga bisa dipakai untuk indexed array yang key-nya berurutan dari 0 tanpa celah.

Array disalin, bukan dibagi

Menyimpan array ke variabel lain, atau mengirimnya ke fungsi, menghasilkan salinan. Mengubah salinannya tidak menyentuh aslinya. Tambahkan & pada parameter saat sebuah fungsi perlu mengubah array milik pemanggil.

Fungsi array berdasarkan kebutuhan

PHP punya lebih dari 70 fungsi array. Ini yang paling sering kamu pakai, masing-masing punya halaman sendiri:

KebutuhanFungsi
Menambah di akhirarray_push() atau $arr[] =
Jumlah elemencount()
Cek apakah nilai adain_array()
Mencari key dari sebuah nilaiarray_search()
Cek apakah key adaarray_key_exists()
Menggabungkan arrayarray_merge()
Mengubah setiap nilaiarray_map()
Menyimpan sebagian nilaiarray_filter()
Mengurutkansort(), usort(), dan sejenisnya
Menghapus elemenunset(), array_splice()
Mengambil sebagianarray_slice()
Menghapus duplikatarray_unique()
String ke array dan sebaliknyaexplode(), implode()

Key yang diam-diam menyatu

Key array berupa integer atau string, dan PHP mengonversi sebagian key untukmu. String yang terlihat seperti bilangan bulat desimal, misalnya "1", menjadi integer 1, jadi $a["1"] dan $a[1] adalah slot yang sama. "01" dan "1.5" tetap string. Karena itulah array yang dibuat dari input formulir atau CSV bisa berisi elemen lebih sedikit daripada yang kamu kira.

Pertanyaan yang sering diajukan

Bagaimana cara membuat array di PHP?

Pakai kurung siku: $colors = ['red', 'green', 'blue'];. Array kosong ditulis $items = [];. Sintaks lama array('red', 'green') melakukan hal yang sama dan masih bisa dipakai.

Bagaimana cara mencetak array di PHP?

echo tidak bisa mencetak array (yang tercetak hanya kata Array disertai warning). Pakai print_r($arr) untuk tampilan yang mudah dibaca, var_dump($arr) untuk melihat tipenya juga, atau echo implode(', ', $arr) untuk mencetak nilainya dalam satu baris.

Bagaimana cara mengambil elemen terakhir array di PHP?

Pakai $arr[array_key_last($arr)] (PHP 7.3+) atau end($arr). PHP tidak punya indeks negatif: $arr[-1] mencari key bernama -1, yang biasanya tidak ada.

Apakah array PHP dikirim sebagai nilai atau referensi?

Sebagai nilai. $b = $a; memberi $b salinannya sendiri, jadi mengubah $b tidak mengubah $a. Untuk mengubah array milik pemanggil di dalam fungsi, deklarasikan parameternya sebagai referensi: function add(array &$list).

Apa bedanya indexed array dan array asosiatif di PHP?

Keduanya tipe yang sama. Indexed array punya key integer 0, 1, 2... yang diberikan PHP untukmu; array asosiatif memakai key yang kamu pilih sendiri, biasanya string seperti 'name'. Satu array bahkan bisa mencampur keduanya.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai