Anda di halaman 1dari 5

Fungsi-fungsi Array di PHP (bagian 3-habis)

Artikel ini akan menutup jumpa kita dalam pembahasan mengenai fungsi-fungsi Array. Minggu
depan kita akan belajar mengenai hal lain. Dalam tiga artikel ini tentu saja tidak semua fungsi array
dapat dibahas, tapi PCplus berusaha menjelaskan fungsi-fungsi yang paling mendasar dan sering
dipakai. Fungsi selengkapnya dapat Anda baca pada PHP manual yang dapat didownload di
www.php.net.
Fungsi-fungsi yang akan dibahas kali ini adalah:

Fungsi array_merge()

Kita tentu sudah sering mendengar kata merger. Merger dari dua bank berarti dua bank
bergabung menjadi satu bank di bawah bendera salah satu bank atau mengibarkan bendera dengan
nama lain. Demikian pula dengan fungsi array_merge(). Fungsi array_merge() akan memerger dua
buah array atau lebih menjadi sebuah array. Sintaksnya adalah sebagai berikut:

Array_merge(array1, array2 [, ...., arrayn])

Dalam proses merger ini ada ketentuan yang harus diikuti. Jika indeks array berupa string dan
pada array-array yang digabung terdapat indeks array yang sama, maka nilai array yang digabungkan
terakhir akan menggantikan nilai array sebelumnya. Hal ini tidak berlaku jika indeksnya numeris. Jika
terdapat array dengan indeks numeris sama, maka array tetap digabungkan dan pemilik indeks sama
pada array yang digabungkan terakhir akan diberi indeks berbeda.
Agar memudahkan pengertian terhadap ketentuan tersebut perhatikan contoh berikut ini:

<HTML>
<HEAD>
<TITLE> Array </TITLE>
</HEAD>

<BODY>
<?
$array1 = array("warna"=>"merah",1=>5,2=>10);
$array2 = array("warna"=>"biru",1=>3,2=>7,3=>73);
$merger = array_merge($array1,$array2);
echo "Isi array1 adalah : <BR>";
print_r($array1);
echo "<BR>";
echo "Isi array2 adalah : <BR>";
print_r($array2);
echo "<BR>";
echo "Setelah dimerge : <BR>";
print_r($merger);
?>
</BODY>
</HTML>

Jika dijalankan pada browser hasilnya akan nampak seperti gambar 1.


Perhatikan bahwa pada array yang akan digabungkan terdapat nilai dengan indeks sama, yaitu
“warna”, 1, dan 2. Setelah dimerge, nilai array dengan indeks “warna” yang muncul adalah yang
terakhir, yaitu “biru”, sedangkan indeks dengan nilai numeris akan digabungkan dan diberi indeks
berbeda. Dengan demikian array hasil merger adalah sebagai berikut:
Array
(
[warna] => biru
[0] => 5
[1] => 10
[2] => 3
[3] => 7
[4] => 73
)

Jika urutan merger dibalik, yaitu array2 dulu baru array1, maka hasil yang akan diberikan
adalah sebagai berikut:

Array
(
[warna] => merah
[0] => 3
[1] => 7
[2] => 73
[3] => 5
[4] => 10
)

Fungsi array_merge_recursive()

Fungsi ini mirip dengan fungsi array_merge(), hanya saja jika terdapat array dengan indeks
string yang sama, nilai-nilai dengan indeks yang sama tersebut tidak saling menggantikan, melainkan
akan ditata menjadi array tersendiri. Jadi jika contoh di atas kita ganti dengan fungsi
array_merge_recursive(), hasil yang akan didapatkan adalah sebagai berikut:

Array
(
[warna] => Array
(
[0] => merah
[1] => biru
)
[0] => 5
[1] => 10
[2] => 3
[3] => 7
[4] => 73
)

CATATAN UNTUK REDAKSI:


Mohon bagian yang menunjukkan array ini tidak ditampilkan sebagai kolom, tapi mungkin
ditampilkan pada area tersendiri agar susunannya bisa tetap seperti yang terlihat di atas.

Contoh berikut menunjukkan penggunaan fungsi array_merge_recursive() untuk array dengan


dimensi lebih dari satu.
<HTML>
<HEAD>
<TITLE> Array </TITLE>
</HEAD>

<BODY>
<?
$array1 = array ("warna" => array ("favorit" => "merah"), 5);
$array2 = array (10, "warna" => array ("favorit" => "biru", "putih"));
$merger = array_merge_recursive($array1,$array2);
echo "Isi array1 adalah : <BR>";
print_r($array1);
echo "<BR>";
echo "Isi array2 adalah : <BR>";
print_r($array2);
echo "<BR>";
echo "Setelah dimerge : <BR>";
print_r($merger);
?>
</BODY>
</HTML>

Hasil yang diberikan oleh contoh ini adalah sebagai berikut:

Array
(
[warna] => Array
(
[favorit] => Array
(
[0] => merah
[1] => biru
)
[0] => putih
)
[0] => 5
[1] => 10
)

Fungsi sort()

Fungsi sort digunakan untuk mengurutkan nilai array baik secara alfabetis maupun numeris.
Urutan numeris adalah dari yang terkecil menjadi yang terbesar, sedangkan urutan secara alfabetis
adalah dari A ke Z. Sintaksnya adalah sebagai berikut:

Sort(array[,sort_flags])

Sort_flags adalah cara pengurutan yang digunakan. Nilai yang mungkin dari sort_flags adalah
sebagai berikut:

• SORT_REGULAR = 0, mengurutkan item secara normal.


• SORT_NUMERIC = 1, mengurutkan item secara numeris.
• SORT_STRING = 3, mengurutkan item secara string.

Contoh:

<HTML>
<HEAD>
<TITLE> Array </TITLE>
</HEAD>

<BODY>
<?
$mobil = array("toyota","opel","nissan","bmw","peugeot");
echo "Sebelum diurutkan : <BR>";
print_r($mobil);
echo "<BR>";
echo "Setelah diurutkan : <BR>";
sort($mobil,0);
print_r($mobil);
?>
</BODY>
</HTML>

Hasilnya dapat dilihat pada gambar 2.

Fungsi array_reverse()

Fungsi ini digunakan untuk membalik urutan array. Sintaksnya adalah sebagai berikut:

Array_reverse(array[,preserve_keys])

Preserve_keys adalah nilai boolean yang menentukan apakah nilai array tetap dilekatkan pada
indeksnya atau tidak. Nilai default adalah false. Contoh:

<HTML>
<HEAD>
<TITLE> Array </TITLE>
</HEAD>

<BODY>
<?
$klub = array("Juventus", "MU", "Barcelona", "Muenchen");
echo "Sebelum diurutkan :";
echo "<BR>";
print_r($klub);
echo "<BR> Diurutkan tanpa preserve key: <BR>";
$klub = array_reverse($klub);
print_r($klub);
echo "<BR> Diurutkan dengan preserve key: <BR>";
$klub = array("Juventus", "MU", "Barcelona", "Muenchen");
$klub = array_reverse($klub,TRUE);
print_r($klub);
?>
</BODY>
</HTML>

Hasilnya dapat dilihat pada gambar 3.