Semua tentang Array di PHP

Kali ini akan dibahas tentang Array di bahasa pemrograman PHP. Cara membuat array, menambahkan nilai array, merubanya dan menghapusnya
208  
       

Array merupakan salah satu tipe data yang ada pada bahasa pemrograman PHP. Bedanya array dengan variabel lainnya itu adalah kemampuannya. Array mampu menampung lebih dari satu nilai, hal ini yang menyebabkan tipe data array sangat unik. Terlepas dari itu semua, array ini memiliki cara khusus untuk pemanggilan, pengisian, perubahan dan penghapusannya.

Bentuk Umum Array

Karena array bisa menampung lebih dari satu nilai, maka array terdiri dari dua elemen yaitu array key dan array value. Array key ini adalah kunci tempat menampung nilai atau bisa disebut juga posisi dari tempat nilai disimpan. Sementara array value adalah nilai yang ditampung pada suatu array key.

Untuk lebih jelasnya bisa dilihat dari contoh kode dibawah ini.

// inisialisasi variabel 

//larik sama dengan array, untuk menandakan bahwavariabel larik adalah array kosong
$larik = arrar(); 

//larik2 sama dengan kurung kotak, ini juga sama untuk menandakan bahwa larik2 adalah array kosong
$larik2 = []; 

 

Array Key / Kunci array

Didalam PHP, kunci array terdiri dari dua jenis yaitu kunci dengan angka dan kunci dengan huruf. Kunci angka ini jika berurutan akan disebut dengan indexed array. Sementara untuk kunci huruf ini disebut associative array. Associative array ini bisa gabungan huruf dan angka, bisa gabungan kata-kata, pokoknya didalam bahasa pemrograman PHP array key ini bisa sangat fleksibel. Namun tetap, array indeks harus mulai dari bilangan 0.
&nbps;
Setelah melihat penjelasan tentang array key, mungkin ada yang bertanya Apa yang terjadi jika indexed array jadi tidak berurutan? Kemudian masuk ke jenis array key yang mana? Jawabanya adalah, jika ada indexed array yang tidak berurutan didalam PHP itu langsung termasuk associative array.

Array Value / Nilai array

Nilai didalam array adalah nilai yang menempati salah satu key dalam array. Setiap nilai harus memiliki index yang unik. Jika array key tidak unik, maka array index yang sama akan ditimpa oleh nilai yang baru dimasukan.

Mengisi nilai array

Untuk mengisi nilai array sebetulnya ini sangat mudah. Didalam PHP array indeks bisa secara eksplisit diisi ataupun dikosongkan untuk mengisi array secara otomatis.

// inisialisasi variabel 
$larik = arrar(); 
$larik2 = [];

//mengisi nilai larik
$larik[] = 'aku adalah nilai pertama di array key 0'; // cara mengisi nilai dengan array key otomatis
$larik[] = 'aku adalah nilai kedua di array key 1'; //cara mengisi nilai dengan array key, otomatis array key akan jadi 1
//secara eksplsit
$larik[2] = 'aku adalah nilai ke tiga yang secara explisit ditambahkan';

$larik2['nama_produk'] = 'Rolciz Keju gulung'; //array assosiative harus eksplisit didefinisikan arraykeynya
$larik2['harga_produk'] = '15000';
$larik2['stok'] = '99 Pcs';
$larik2[] = 'Rasa Oreo'; //jika tidak didefinisikan makan akan diganti oleh 0,1,2, dst...

Dari contoh kode ini, ditemukan dua jenis array. Ada yang assosiatif dan dan indexed. Cara pengisian keduanya ada caranya masing-masing. Untuk indexed array, array key boleh didefinisikan secara implisit supaya mendapatkan array key yang automatis. Sementara untuk associative array, array key tetap harus didefinisikan. Jika tidak, maka array key akan tetap dimulai dari 0,1,2 dan seterusnya. Sehingga dalam PHP setiap array berindex yang berurutan dari 0 itu adalah indexed array. Sementara, jika ada kombinasi huruf dan angkanya itu otomatis jadi associative array.

Menampilkan Isi array

Array Traversal merupakan salah satu proses untuk menelusuri array baik secara indek maupun secara array. Menampilkan nilai dari array ini merupakan salah satu proses array traversal.

Sebelum menampilkan isi dari array, pertama-tama kita harus mengetahui jenis arraynya. Karena jika ingin menampilkan nilai dari array kita harus mengetahui dengan pasti array key-nya. Dalam contoh sebelumya ada dua varibel larik dan larik2. Larik adalah array yang indexed array, sementara larik2 adalah assocaitive array. Berikut ini adalah contoh kodenya.

$larik = arrar(); 
$larik[] = 'aku adalah nilai pertama di array key 0'; 
$larik[] = 'aku adalah nilai kedua di array key 1';
$larik[2] = 'aku adalah nilai ke tiga yang secara explisit ditambahkan';

$larik2 = [];
$larik2['nama_produk'] = 'Rolciz Keju gulung';
$larik2['harga_produk'] = '15000';
$larik2['stok'] = '99 Pcs';
$larik2[] = 'Rasa Oreo';

//menampilkan indexed array dengan $larik
//dengan menggunakan fungsi for

//hitung dulu jumlah nilai arraynya
$panjang_array = count($larik);

//karena index mulai dari 0, maka $i=0;
//Jika panjang nilai 5, maka index array hanya akan sampai 4
//oleh karena itu  tandanya tidak kurang sama dengan
//tapi sama dengan saja.
for($i=0;$i<$panjang_array;$i++){
  echo $larik[$i];
  //tambahkan 
 biar ada baris baru.
  echo '
';
}

//menampilkan associative array
//tidak bisa dengan for, karena array keynya tidak bisa ditebak
//menggunakan fungsi foreach
foreach($larik2 as $l2){
  //karena larik ke-n sudah di aliaskan sebagai variabel l2
  //maka untuk menampilkannya cukup
  echo $l2;
  //tambahkan 
 biar ada baris baru.
  echo '
';
}
//penggunaan foreach untuk indexed array
//foreach ini juga bisa dipakai untuk indexed array

foreach($larik as $l1){
//karena larik ke-n sudah di aliaskan sebagai variabel l1
//maka untuk menampilkannya cukup
echo $l1;
//tambahkan
biar ada baris baru.
echo '
';
}

Dari setiap kode diatas, untuk menampilkan array diperlukan setidaknya 3 fungsi yaitu, count, for dan foreach. Fungsi count digunakan untuk menghitung jumlah isi dari array. Fungsi for adalah salah satu bentuk perulangan yang akan terus mengulang ketika kondisi perulangannya adalah true. Sementara foreach ini lebih otomatis, dia akan tetap melakukan perulangan selama array tersebut masih memiliki nilai. Jadi lebih simple dengan menggunakan foreach jika dibandingkan dengan foreach.

Mengubah nilai dari array

Sama halnya dengan menambahkan nilai dari array, namun perbedaanya adalah kita harus mengetahui array key yang ingin kita rubah. Cukup simpel kan? Mari kita lihat kodenya. Kita masih akan menggunakan variabel dari contoh kode sebelumnya.

$larik = arrar(); 
$larik[] = 'aku adalah nilai pertama di array key 0'; 
$larik[] = 'aku adalah nilai kedua di array key 1';
$larik[2] = 'aku adalah nilai ke tiga yang secara explisit ditambahkan';

$larik2 = [];
$larik2['nama_produk'] = 'Rolciz Keju gulung';
$larik2['harga_produk'] = '15000';
$larik2['stok'] = '99 Pcs';
$larik2[] = 'Rasa Oreo';

//tampilkan dulu $larik
foreach($larik as $l1){
  //karena larik ke-n sudah di aliaskan sebagai variabel l1
  //maka untuk menampilkannya cukup
  echo $l1;
  //tambahkan 
 biar ada baris baru.
  echo '
';
}

//merubah indexed array 
//untuk nilai "aku adalah nilai ke tiga yang secara explisit ditambahkan" pada $larik
//yang berada pada index ke 2
$larik[2] = 'Ini saya ganti ya...';

//tampilkan $larik setelah dirubah
foreach($larik as $l1){
  //karena larik ke-n sudah di aliaskan sebagai variabel l1
  //maka untuk menampilkannya cukup
  echo $l1;
  //tambahkan 
 biar ada baris baru.
  echo '
';
}


//merubah associative array 
//tampilkan $larik2 sebelum dirubah
foreach($larik2 as $l2){
  //karena larik ke-n sudah di aliaskan sebagai variabel l1
  //maka untuk menampilkannya cukup
  echo $l2;
  //tambahkan 
 biar ada baris baru.
  echo '
';
}

//untuk merubah nilai "harga_produk" pada $larik2
//yang berada pada index harga_produk
$larik2['harga_produk'] = '10000';

//tampilkan $larik setelah dirubah
foreach($larik2 as $l2){
  //karena larik ke-n sudah di aliaskan sebagai variabel l1
  //maka untuk menampilkannya cukup
  echo $l2;
  //tambahkan 
 biar ada baris baru.
  echo '
';
}

 

Menghapus nilai Array

Sama seperti merubah nilai array, kita harus mengetahui terlebih dahulu index array mana yang akan dihapus. Mari kita lihat dalam bentuk contoh kode

$larik = arrar(); 
$larik[] = 'aku adalah nilai pertama di array key 0'; 
$larik[] = 'aku adalah nilai kedua di array key 1';
$larik[2] = 'aku adalah nilai ke tiga yang secara explisit ditambahkan';

$larik2 = [];
$larik2['nama_produk'] = 'Rolciz Keju gulung';
$larik2['harga_produk'] = '15000';
$larik2['stok'] = '99 Pcs';
$larik2[] = 'Rasa Oreo';

//tampilkan dulu $larik
foreach($larik as $l1){
  //karena larik ke-n sudah di aliaskan sebagai variabel l1
  //maka untuk menampilkannya cukup
  echo $l1;
  //tambahkan 
 biar ada baris baru.
  echo '
';
}

//menghapus indexed array 
//untuk nilai "aku adalah nilai ke tiga yang secara explisit ditambahkan" pada $larik
//yang berada pada index ke 2
unset($larik[2]);

//tampilkan $larik setelah dihapus 1
foreach($larik as $l1){
  //karena larik ke-n sudah di aliaskan sebagai variabel l1
  //maka untuk menampilkannya cukup
  echo $l1;
  //tambahkan 
 biar ada baris baru.
  echo '
';
}


//menghapus associative array 
//tampilkan $larik2 sebelum dirubah
foreach($larik2 as $l2){
  //karena larik ke-n sudah di aliaskan sebagai variabel l1
  //maka untuk menampilkannya cukup
  echo $l2;
  //tambahkan 
 biar ada baris baru.
  echo '
';
}

//untuk dihapus nilai "harga_produk" pada $larik2
//yang berada pada index harga_produk
unset($larik2['harga_produk']);

//tampilkan $larik setelah dihapus salah satu
foreach($larik2 as $l2){
  //karena larik ke-n sudah di aliaskan sebagai variabel l1
  //maka untuk menampilkannya cukup
  echo $l2;
  //tambahkan 
 biar ada baris baru.
  echo '
';
}

Demikian. Semoga membantu.