Array: The Power of PHP

Dari judul di atas, bisa ditarik kesimpulan bahwa entry ini akan berisi mengenai tipe data array yang terdapat di PHP. Bahkan dengan kata power yang ada di judul tersebut juga bisa dikatakan bahwa entry ini akan berisi seputar kegunaan, kelebihan dan keuntungan penggunaan tipe data array dalam PHP. Yep, bagi yang sudah pernah mengenal bahasa pemrograman lain seperti C atau Pascal atau Basic, sewaktu beralih atau belajar menggunakan PHP mungkin akan melihat perbedaan yang signifikan dalam arti array.

Array pada dasarnya merupakan suatu tipe data yang dapat menampung serangkaian tipe data yang sama dalam suatu variabel. Bila pada dasarnya kita mengenal tipe variabel seperti character atau char, integer atau int, dan float atau real, maka tipe data tersebut umumnya hanya dapat menampung sebuah data saja bila tidak menggunakan array. Ketika menggunakan array pun, banyak bahasa pemrograman yang menggunakan index atau key dalam array menggunakan angka bulat atau integer yang umumnya dimulai dari 0 (nol).

Dalam PHP, pengolahan dan penggunaan array menjadi lebih mudah karena array dalam PHP lebih fleksibel. Tidak hanya dapat menggunakan integer sebagai key untuk element-nya, akan tetapi juga string. Bahkan key dalam PHP bisa bercampur antara string dan integer. Contohnya adalah sebagai berikut:

$array['Hello'] = 'world';
$array[1] = 5;

Karena fleksibilitas inilah array dalam PHP sering digunakan sebagai list yang hampir menyerupai objek-objek yang umumnya menggunakan class sebagai pembentuknya. Contohnya seperti di bawah ini:

$people['name'] = 'Anonymous';
$people['address'] = '5th Anonymous Street';
$people['motto'] = 'Who knows';
$people['website'] = 'http://www.example.com/';

Di PHP terdapat 2 cara menentukan nilai array. Cara pertama adalah dengan memberi nilai array secara langsung seperti contoh di atas (bentuk 1). Sedangkan cara kedua adalah mendefinisikan nilai dengan menggunakan pembentuk atau konstruktor array seperti di bawah ini (bentuk 2):

$people = array(
'name' => 'Anonymous',
'address' => '5th Anonymous Street',
'motto' => 'Who knows',
'website' => 'http://www.example.com/'
)

Masalah akan timbul bilamana menggunakan bentuk 1 tanpa melakukan reset atau unset terhadap variabel array tersebut. Pada bentuk 1, array akan terus di-push di akhir susunan array sebelumnya sehingga pada dasarnya nilai-nilai sebelumnya tidak akan hilang, kecuali bila kita mendefinisikan nilai baru pada key yang sudah ada sebelumnya.

$array['contoh'] = 'contoh';
echo $array['contoh']; // akan tercetak 'contoh'
$array['example'] = 'example';
echo $array['contoh']; // tetap akan tercetak 'contoh' karena key 'example' diletakkan setelah key 'contoh'

Cara mudah untuk mensiasati agar key ‘contoh’ menghilang adalah dengan menggunakan konstruktor array atau melakukan unset terlebih dahulu, baik di tingkat key / element atau di tingkat variabel.

$array['contoh'] = 'contoh';

unset($array['contoh']); // reset pada tingkat key atau element
unset($array); // reset pada tingkat variabel
$array = array(); // membangun ulang variabel $array sebagai array kosong

$array['example'] = 'example';

echo $array['contoh']; // di sini tidak akan tercetak apapun karena 'contoh' sudah di reset

Penggunaan cara untuk me-reset variabel array tersebut sesuai dengan kebutuhan masing-masing. Bila hanya ingin melakukan reset terhadap satu key atau element tertentu tanpa menghilangkan seluruh array, maka penggunaan reset tingkat key adalah yang terbaik. Bila ingin menghapus nilai array-nya, sekaligus menghapus variabel yang ada, penggunaan unset tingkat variabel adalah yang terbaik. Bila hanya ingin menghapus seluruh key atau element dari variabel array tanpa menghapus variabel itu sendiri, maka membangun ulang variabel array adalah yang terbaik.

Dengan kemudahan yang diberikan PHP dalam pengelolaan array yang menjadi list atau pengganti objek sederhana, maka terkadang timbul juga masalah yang mungkin tidak terpikirkan sebelumnya. Umumnya masalah ini adalah akibat ketidaktelitian programmer PHP dalam penggunaan array itu sendiri.

$array['hai'] = 'Hallo';
$array = array('example' => 'this is example');
echo $array['hai'];

Pada contoh di atas, tidak akan tercetak apapun karena $array sudah dibangun ulang dengan element hanya berupa key ‘example’ dengan value ‘this is example’. Bila hanya ingin melakukan push untuk element baru di belakang element dengan key ‘hai’, cukup lakukan dengan $array['example'] = 'this is example'; tanpa harus menggunakan konstruktor array.

Inilah salah satu kemudahan dari PHP yang mungkin suatu waktu bisa menjadi senjata makan tuan bila terdapat kecerobohan dalam penggunaannya sehingga perlu pemikiran yang matang sebelum menggunakan array dalam PHP. Semoga artikel ini bisa membantu memahami sedikit mengenai array dalam PHP dan masalah yang bisa timbul karenanya. ;)

Tambahan: Mengapa saya menuliskan judulnya Array: The Power of PHP, bukannya PHP: The Power of Array? Karena saya menganggap array sebagai bagian yang penting dari PHP dan array menjadikan PHP lebih “hidup” bukan karena kelebihannya sebagai tipe data saja.

This entry was last modified on: August 13th, 2008 at 1:31

3 Responses to “Array: The Power of PHP”

  1. #1548 feliks asko
    January 22nd, 2009 at 16:14

    butuh bantuan euy…. : :)

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

:alien: :angel: :angry: :-l :blink: :blush: :cheerful: :cool: :cry: :devil: :dizzy: :ermm: :face: :getlost: :D :happy: :heart: :kissing: :lol: :ninja: :pinch: :| :( :shocked: :sick: :sideways: :silly: :sleeping: :) :p :unsure: :w00t: :wassat: :whistle: ;) :x :bat: :beer: :cake: :camera: :cat: :clock: :cocktail: :cup: :dog: :email: :film: :kiss: :lightbulb: :note: :phone: :present: :rose: :star: :tup: :tdown: :wiltedrose: :unlove: