Learning PHP Basic #5 : Array

Learning PHP Basic #5 : Array
$produk_1 = 'TV';
$produk_2 = 'Monitor';
$produk_3 = 'Printer';
$produk_4 = 'Laptop';

Yang selanjutnya akan ditampilkan menggunakan echo satu per satu variabel
echo "$produk_1"; hingga produk ke-n
Dengan tidak menggunakan array, baik dalam menampung data produk  maupun dalam menampilkan produk akan menjadi kurang efisien. Apabila menggunakan array, maka script diatas akan menjadi seperti berikut
$produk = array('TV','Monitor','Printer','Laptop');
  • Membuat Array
Terdapat dua jenis array, yaitu array numeric dan array assosiatif. Array numeric merupakan array dengan indeks yang berupa angka default, sedangkan array assosiatif adalah array dengan indeks yang ditentukan oleh kita.Untuk melihat isi maupun indeks key dari suatu array dapat menggunakan fungsi print_r() yang ada pada php, sedangkan untuk melihat isi dan key dari suatu array dapat ditambahkan tag pre Cara membuat array beserta melihat isi dari suatu array adalah sebagai berikut :
//Array Kosong
$esoftplay = array();
$esoftplay = [];

//Menyisipkan indeks setelah membuat array kosong
$esoftplay['indeks_1'] = 'ini';
$esoftplay['indeks_2'] = 'menyisipkan';
$esoftplay['indeks_3'] = 'array';

///Array Numeric :
$esoftplay = array('ini','adalah','contoh','array','numeric');

//Sedangkan apabila nilai dari array adalah angka, tidak perlu menggunakan single quote
$esoftplay_1 = array(1,4,3,6,9);

//dan ketika kita print_r($esoftplay) akan menghasilkan : 
Array ( [0] => ini [1] => adalah [2] => contoh [3] => array [4] => numeric ) 

//Array Assosiatif 
$esoftplay = array( 
              'indeks_ini' => 'ini', 
              'indeks_adalah' => 'adalah', 
              'indeks_contoh' => 'contoh', 
              'indeks_array' => 'array', 
              'indeks_assosiatif' => 'assosiatif' 
); 
//dan ketika kita print_r($esoftplay) akan menghasilkan : 
Array ( [indeks_ini] => ini [indeks_adalah] => adalah [indeks_contoh] => contoh [indeks_array] => array [indeks_assosiatif] => assosiatif ) 
indeks dari suatu array selalu bersifat unique, artinya apabila terdapat indeks yang sama, maka nilai dari indeks tersebut akan ter-replace.
  • Membaca Array
Untuk membaca array, kita hanya membutuh nama variabel array tersebut beserta indeksnya. Semisal pada array diatas, nama variabel arraynya adalah $esoftplay, jika ingin menampilkan kata adalah maka script kita adalah seperti ini
//numeric
echo $esoftplay[1];

//assosiatif
echo $esoftplay['indeks_adalah'];

Sama halnya dengan hasil dari query database, dimana variabel yang menampungnya memiliki tipe data array, sehingga untuk menampilkan informasi yang diinginkan hanya perlu menulis nama variabel beserta indeks yang kita inginkan
  • Menghapus Array
Untuk menghapus array atau indeks dari suatu array bisa menggunakan fungsi unset(). Contoh penggunaan dari fungsi ini adalah sebagai berikut :
//Semisal terdapat array sebagai berikut
$esoftplay = array('TV','Monitor','Printer','Laptop');

//Hapus Monitor
unset($esoftplay[1]);

//Lihat isi dari $esoftplay
Array
(
  [0] => TV
  [2] => Printer
  [3] => Laptop
)

//Jika ingin menghapus array
unset($esoftplay);
  • Mengubah & Menambahkan isi Array
Untuk merubah value dari suatu array cukup mudah, hanya dengan mengisi index dari variabel array yang kita ingin rubah dengan apa yang ingin kita isikan. Sedangkan untuk menambahkan isi dari suatu array, pastikan index yang ingin kita isi tidak terdapat pada index array tersebut.
//Semisal terdapat array seperi berikut
$esoftplay = array(
               'Nama' => 'esoftplay',
               'Alamat' => 'Kudus'
             );

//untuk mengubah indeks Alamat
$esoftplay['Alamat'] = 'Purwosari Kudus';

//untuk menambah indeks, pastikan indeks tersebut belum ada
$esoftplay['Phone'] = '081855012x';
  • Array Multi Dimensi
Array multi dimensi atau multidimensional array merupakan array yang memiliki dimensi lebih dari satu, dimana didalam suatu array terdapat satu atau beberapa array yang lain.
$esoftplay = array(
                'Nama' => array(
                           'First Name' => 'esoftplay',
                           'Last Name' => 'Kudus'
                 ),
                 'Alamat' => array(
                            'Kecamatan' => 'Kaliwungu',
                            'Kota' => 'Kudus',
                            'Provinsi' => 'Jawa Tengah'
                 ),
            );
//Untuk Mendapatkan First Name bisa dengan
echo $esoftplat['Nama']['First_Name'];
  • Looping Array
Seperti pada artikel tentang looping sebelumnya, kita bisa menampilkan value dari suatu array baik multidimensional maupun bukan. dengan adanya looping, kita tidak perlu mencetak value dari suatu array satu per satu, sehingga script yang kita tulis lebih sedikit.
  • Looping  Menggunakan Foreach
//Semisal terdapat array seperti berikut
$esoftplay = array('Tv','Monitor','Printer','Laptop');

foreach($esoftplay As $key => $value)
{
  echo "Nilai dari $key adalah $value < br>"; //akan menampilkan seluruh data mulai dari Tv hingga Laptop, $key memiliki nilai indeks dari key setiap value
}

//Contoh lain semisal menggunakan array multidimensi
$esoftplay = array( 
               array(
                'Nama' => array( 
                          'Nama depan' => 'esoftplay', 
                          'Nama belakang' => 'Kudus' 
                 ), 
                 'Alamat' => array( 
                              'Kecamatan' => 'Kaliwungu', 
                              'Kota' => 'Kudus', 
                              'Provinsi' => 'Jawa Tengah' 
                 ), 
              ),
              array(
                 'Nama' => array(
                            'Nama depan' => 'Bagus',
                            'Nama belakang' => 'Yulianto',
                          ),
                 'Alamat' => array(
                            'Kecamatan' => 'Mejobo',
                            'Kota' => 'Kudus',
                            'Provinsi' => 'Jawa Tengah'
                          ),
                ),
            );

foreach($esoftplay As $key => $value)
{
  echo "Nama Depan : $value['Nama'][Nama depan'] <br>";
  echo "Nama Belakang : $value['Nama']['Nama belakang'] <br>";
  echo "Kecamatan : $value['Alamat']['Kecamatan'] <br>";
  echo "Kota : $value['Alamat']['Kota'] <br>";
  echo "Provinsi : $value['Alamat']['Provinsi'] <br>";
}

//Result
Nama Depan : esoftplay
Nama Belakang : kudus
Kecamatan : Kaliwungu
Kota : Kudus
Provinsi : Jawa Tengah

Nama Depan : Bagus
Nama Belakang : Yulianto
Kecamatan : Mejobo
Kota : Kudus
Provinsi : Jawa Tengah
  • Looping menggunakan For/While
Untuk looping array menggunakan for/while tidak berlaku untuk array assosiative, dan hanya berlaku pada array numeric dengan indeks yang runtut. untuk mengetahui panjang dari array bisa menggunakan fungsi count() / sizeof().
for($i=0;$i<=sizeof($esoftplay);$i++)
{
  echo $esoftplay[$i]; // ini akan mencetak value dari array esoftplay dengan indeks ke-i
}

Oct 25th, 2018