Memahami Array pada PHP



Dalam postingan kali ini, anda akan mempelajari dasar-dasar array pada PHP. Anda akan belajar bagaimana membuat sebuah array dan bagaimana menggunakan array asosiatif dan multidimensi, dan anda akan melihat banyak contoh dari array dalam tutorial ini.


Apa itu Array?


Dalam PHP, array adalah struktur data yang memungkinkan anda untuk menyimpan beberapa elemen dalam satu variabel. Elemen-elemen ini disimpan sebagai pasangan nilai-kunci. Bahkan, anda dapat menggunakan sebuah array setiap kali ada kebutuhan untuk menyimpan daftar dari elemen. Umumnya semua item dalam array memiliki tipe data yang serupa.

Sebagai contoh, katakanlah anda ingin menyimpan nama buah. Tanpa array, anda akan menciptakan banyak variabel untuk menyimpan nama buah yang berbeda. Di sisi lain, jika anda menggunakan array untuk menyimpan nama buah, mungkin terlihat seperti ini:

1:  <?php  
2:  $array_fruits = array('Apple', 'Orange', 'Watermelon', 'Mango');  
3:  ?>  

Seperti yang anda lihat, kami telah menggunakan variabel $array_fruits untuk menyimpan nama buah yang berbeda. Satu hal hebat tentang pendekatan ini adalah anda dapat menambahkan lebih banyak elemen ke variabel array $array_fruits nantinya.

Ada banyak cara untuk memanipulasi nilai dalam variabel array, kita akan melihatnya pada bagian akhir artikel ini.

Cara Menginisialisasi Array


Pada bagian ini, kita akan melihat cara menginisialisasi variabel array dan menambahkan nilai dalam variabel tersebut.

Dalam hal inisialisasi array, ada beberapa cara yang berbeda. Dalam banyak kasus, Ini adalah konstruksi dari bahasa array() yang digunakan untuk menginisialisasi array.

1:  <?php  
2:  $array = array();  
3:  ?>  

Dalam potongan kode di atas, variabel $array diinisialisasi dengan array kosong.

Pada PHP 5.4, Anda juga dapat menggunakan sintaks berikut untuk menginisialisasi array.

1:  <?php  
2:  $array = [];  
3:  ?>  

Sekarang, mari kita lihat cara menambahkan elemen ke sebuah larik.

1:  <?php  
2:  $array = [];  
3:  $array[] = 'One';  
4:  $array[] = 'Two';  
5:  $array[] = 'Three';  
6:  echo '<pre>';  
7:  print_r($array);  
8:  ?>  

Potongan kode di atas harus menghasilkan output berikut:

1:  Array  
2:  (  
3:    [0] => One  
4:    [1] => Two  
5:    [2] => Three  
6:  )  

Hal penting yang harus dicatat disini adalah bahwa indeks array dimulai dengan 0. Setiap kali anda menambahkan elemen baru ke array tanpa menentukan indeks, array memberikan indeks secara otomatis.

Tentu saja, anda juga dapat membuat array yang sudah diinisialisasi dengan nilai-nilai. Ini adalah cara paling singkat untuk mendeklarasikan array jika anda sudah tahu nilai apa yang akan dimiliki.

1:  <?php  
2:  $array = ['One', 'Two', 'Three'];  
3:  ?>  

Cara Mengakses Elemen Array


Pada bagian sebelumnya, kita membahas cara menginisialisasi variabel array. Di bagian ini, kita akan menjelajahi beberapa cara yang berbeda untuk mengakses elemen array.

Cara pertama yang jelas untuk mengakses elemen array adalah mengambilnya dengan kunci atau indeks dari array.

1:  <?php  
2:  $array = ['One', 'Two', 'Three'];  
3:  // get the first element of the $array array  
4:  echo $array[0];  
5:  echo "<br>";  
6:  // get the second element of the $array array  
7:  echo $array[1];  
8:  echo "<br>";  
9:  // get the third element of the $array array  
10:  echo $array[2];  
11:  echo "<br>";  
12:  ?>  

Potongan kode di atas harus menghasilkan output berikut:

1:  One  
2:  Two  
3:  Three  

Cara yang lebih bersih dan rapih untuk menulis kode di atas adalah dengan menggunakan perulangan foreach untuk melakukan iterasi melalui elemen array.

1:  <?php  
2:  $array = ['One', 'Two', 'Three'];  
3:  foreach ($array as $element) {  
4:   echo $element;  
5:   echo '<br>';  
6:  }  
7:  ?>  


Potongan kode di atas harus menghasilkan output yang sama, tetapi itu membutuhkan lebih sedikit kode.

Dengan cara yang sama, anda juga dapat menggunakan perulangan for untuk menelusuri elemen array..

1:  <?php  
2:  $array = ['One', 'Two', 'Three'];  
3:  $array_length = count($array);  
4:  for ($i = 0; $i < $array_length; ++$i) {  
5:   echo $array[$i];  
6:   echo '<br>';  
7:  }  
8:  ?>  


Di sini, kita menggunakan perulangan for untuk menelusuri setiap indeks dalam array dan kemudian menampilkan nilai yang disimpan dalam indeks itu dengan echo. Dalam potongan kode ini, kita telah memperkenalkan salah satu fungsi paling penting yang akan Anda gunakan saat bekerja dengan array: count. Ini digunakan untuk menghitung berapa banyak elemen dalam array.

Jenis-jenis Array dalam PHP


Di bagian ini, kita akan membahas berbagai jenis array yang dapat anda gunakan dalam PHP.

Array Berindeks Numerik


Array dengan indeks numerik jatuh dalam kategori indexed array (array yang diindeks). Faktanya, contoh yang telah kita bahas dalam artikel sejauh ini adalah array yang diindeks.

Indeks numerik ditetapkan secara otomatis saat anda tidak menentukannya secara eksplisit.

1:  <?php  
2:  $array = ['One', 'Two', 'Three'];  
3:  ?>  

Dalam contoh di atas, kita tidak menetapkan indeks untuk setiap item secara eksplisit, sehingga akan diinisialisasi dengan indeks numerik secara otomatis.

Tentu saja, anda juga dapat membuat array yang diindeks dengan menggunakan indeks numerik, seperti yang ditunjukkan pada potongan kode berikut.

1:  <?php  
2:  $array = [];  
3:  $array[0] = 'One';  
4:  $array[1] = 'Two';  
5:  $array[2] = 'Three';  
6:  ?>  

Array Asosiatif


Array asosiatif mirip dengan array yang diindeks, tetapi Anda dapat menggunakan nilai string sebagai kunci dari array.

Mari kita lihat cara menentukan array asosiatif.

1:  <?php  
2:  $employee = [  
3:   'name' => 'John',  
4:   'email' => 'john@example.com',  
5:   'phone' => '1234567890',  
6:  ];  

Atau, anda juga bisa menggunakan sintaks berikut ini :

1:  <?php  
2:  $employee = [];  
3:  $employee['name'] = 'John';  
4:  $employee['email'] = 'john@example.com';  
5:  $employee['phone'] = '1234567890';  
6:  ?>  

Untuk mengakses nilai-nilai array asosiatif, Anda dapat menggunakan indeks atau perulangan dari foreach.

1:  <?php  
2:  $employee = [  
3:   'name' => 'John',  
4:   'email' => 'john@example.com',  
5:   'phone' => '1234567890',  
6:  ];  
7:  // get the value of employee name  
8:  echo $employee['name'];  
9:  // get all values  
10:  foreach ($employee as $key => $value) {  
11:   echo $key . ':' . $value;  
12:   echo '<br>';  
13:  }  
14:  ?>  

Seperti yang anda lihat, di sini kita mendapat nama dengan menanyakannya secara langsung, dan kemudian kita menggunakan perulangan foreach untuk mendapatkan semua pasangan dari kunci dan nilai dalam array.

Array Multidimensi


Dalam contoh-contoh yang telah kita bahas sejauh ini, kita telah menggunakan nilai skalar sebagai elemen array. Sebetulnya, anda bahkan dapat menyimpan array sebagai elemen dalam array lain, ini adalah array multidimensi.

Mari kita lihat sebuah contoh.

1:  <?php  
2:  $employee = [  
3:   'name' => 'John',  
4:   'email' => 'john@example.com',  
5:   'phone' => '1234567890',  
6:   'hobbies' => ['Football', 'Tennis'],  
7:   'profiles' => ['facebook' => 'johnfb', 'twitter' => 'johntw']  
8:  ];  
9:  ?>  

Seperti yang anda lihat, kunci dari hobbies dalam array $employee menyimpan berbagai macam hobi. Dengan cara yang sama, kunci dari profiles menyimpan array asosiatif dari profil yang berbeda.

Mari kita lihat cara mengakses nilai dari array multidimensi.

1:  <?php  
2:  $employee = [  
3:   'name' => 'John',  
4:   'email' => 'john@example.com',  
5:   'phone' => '1234567890',  
6:   'hobbies' => ['Football', 'Tennis'],  
7:   'profiles' => ['facebook' => 'johnfb', 'twitter' => 'johntw']  
8:  ];  
9:  // access hobbies  
10:  echo $employee['hobbies'][0];  
11:  // Football  
12:  echo $employee['hobbies'][1];  
13:  // Tennis  
14:  // access profiles  
15:  echo $employee['profiles']['facebook'];  
16:  // johnfb  
17:  echo $employee['profiles']['twitter'];  
18:  // johntw  
19:  ?>  

Seperti yang Anda lihat, elemen array multidimensi dapat diakses dengan indeks atau kunci dari elemen tersebut di setiap bagian array.

Beberapa Fungsi Array Yang Berguna


Di bagian ini, kita akan membahas beberapa fungsi array yang berguna yang sering digunakan untuk operasi array.

Fungsi count


Fungsi count digunakan untuk menghitung jumlah elemen dalam array. Ini sering berguna jika anda ingin mengulang array dengan perulangan for.

1:  <?php  
2:  $array = ['One', 'Two', 'Three'];  
3:  // print the number of elements in the array  
4:  echo count($array);  
5:  // the above code should output  
6:  3  
7:  ?>  

Fungsi is_array


Ini adalah salah satu fungsi yang paling berguna untuk menangani array. Ini digunakan untuk memeriksa apakah suatu variabel adalah array atau beberapa tipe data lainnya.

1:  <?php  
2:  $array = ['One', 'Two', 'Three'];  
3:  // check if the variable is an array  
4:  if (is_array($array))  
5:  {  
6:   // perform some array operation  
7:  }  
8:  ?>  


Anda harus selalu menggunakan fungsi ini sebelum anda melakukan operasi array jika anda tidak yakin dengan tipe datanya.

Fungsi in_array 


Jika anda ingin memeriksa apakah ada elemen dalam array, fungsi tersebut adalah in_array yang hadir untuk membantu anda.

1:  <?php  
2:  $array = ['One', 'Two', 'Three'];  
3:  // check if a variable is an array  
4:  if (in_array('One', $array))  
5:  {  
6:   echo 'Yes';  
7:  }  
8:  else  
9:  {  
10:   echo 'No';  
11:  }  
12:  ?>  


Argumen pertama dari fungsi in_array adalah elemen yang ingin anda periksa, dan argumen kedua adalah array itu sendiri.

Fungsi explode


Fungsi explode membagi string menjadi beberapa bagian dan mengembalikannya sebagai array. Misalnya, katakanlah anda memiliki string yang dipisahkan dengan koma dan Anda ingin membaginya pada koma.

1:  <?php  
2:  $string = "One,Two,Three";  
3:  // explode a string by comma  
4:  $array = explode(",", $string);  
5:  // output should be an array  
6:  echo '<pre>';  
7:  print_r($array);  
8:  // output  
9:  /*Array  
10:  (  
11:    [0] => One  
12:    [1] => Two  
13:    [2] => Three  
14:  )*/  
15:  ?>  

Argumen pertama dari fungsi explode adalah string delimiter (string yang anda pisahkan pada), dan argumen kedua adalah string itu sendiri.

Fungsi implode

Ini adalah kebalikan dari fungsi explode, diberikan array dan perekat berupa string, fungsi implode dapat menghasilkan string dengan menggabungkan semua elemen array dengan string yang direkatkan di antara mereka.

1:  <?php  
2:  $array = ['One', 'Two', 'Three'];  
3:  $string = implode(",", $array);  
4:  // output should be a string  
5:  echo $string;  
6:  // output: One,Two,Three  
7:  ?>  

Argumen pertama dari fungsi implode adalah string untuk merekatkan, dan argumen kedua adalah array untuk dilakukan proses implode (pemecahan).

Fungsi array_push


Fungsi array_push digunakan untuk menambahkan elemen baru ke akhir array.

1:  <?php  
2:  $array = ['One', 'Two', 'Three'];  
3:  array_push($array, 'Four');  
4:  echo '<pre>';  
5:  print_r($array);  
6:  // output  
7:  /*Array  
8:  (  
9:    [0] => One  
10:    [1] => Two  
11:    [2] => Three  
12:    [3] => Four  
13:  )*/  
14:  ?>  

Argumen pertama adalah array, dan argumen berikutnya adalah elemen yang akan ditambahkan ke akhir array.

Fungsi array_pop


Fungsi array_pop menghilangkan elemen dari akhir array.

1:  <?php  
2:  $array = ['One', 'Two', 'Three'];  
3:  $element = array_pop($array);  
4:  echo '<pre>';  
5:  print_r($array);  
6:  // output  
7:  /*Array  
8:  (  
9:    [0] => One  
10:    [1] => Two  
11:  )*/  
12:  ?>  


Fungsi array_pop mengembalikan elemen yang dihapus dari array, sehingga anda dapat menariknya ke dalam variabel. Bersama dengan array_push, fungsi ini berguna untuk mengimplementasikan struktur data seperti tumpukan.

Kesimpulan


Itulah semua hal yang Anda butuhkan untuk memulai pemrograman menggunakan array pada PHP.

Anda melihat cara membuat array dan cara mengambil elemen dari array. Anda mempelajari berbagai jenis array dalam PHP, dan anda dapat melihat beberapa fungsi PHP bawaan yang paling berguna untuk bekerja dengan array.

Semoga Tutorial ini dapat membantu anda untuk belajar Bahasa Pemograman PHP, Samapi jumpa di tutorial selanjutnya :).