Beranda :: Basis Web :: Pemrograman PHP :: Fungsi-fungsi Array di PHP (bagian 3)
AddThis Social Bookmark Button
Fungsi-fungsi Array di PHP (bagian 3) PDF Cetak E-mail
Oleh Hendrik Perdana   
Jumat, 07 Agustus 2009 07:47

Dalam tiga penulisan fungsi Array() ini tidak semua fungsi array dapat dibahas, tapi mencoba berusaha menjelaskan fungsi-fungsi yang paling mendasar dan sering dipakai. Fungsi-fungsi array yang akan dibahas sesi terakhir dari array() adalah:

Fungsi array_merge()
Kita tentu sudah sering mendengar kata merge/merger. Merger berarti gabungan dua pihak menjadi satu di bawah bendera salah satu pihak atau bendera dengan nama lain. Demikian pula dengan fungsi array_merge(). Fungsi array_merge() akan memerger dua buah array atau lebih menjadi sebuah array. Contoh 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 numerik/angka. Jika terdapat array dengan indeks numerik 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 Bagian 3 </TITLE>
</HEAD>
<BODY>

<?php
$array1 = array("warna"=>"merah",1=>5,2=>10);
$array2 = array("warna"=>"biru",1=>3,2=>7,3=>73);
$gabung = 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 digabung menjadi : <br />";
print_r($gabung);
?>

</BODY>
</HTML>

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 numerik 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
)

Contoh berikut menunjukkan penggunaan fungsi array_merge_recursive() untuk array dengan dimensi lebih dari satu.

<HTML>
<HEAD>
<TITLE> Array Bagian 3 </TITLE>
</HEAD>
<BODY>

<?php
$array1 = array ("warna" => array ("favorit" => "merah"), 5);
$array2 = array (10, "warna" => array ("favorit" => "biru", "putih"));
$gabung = 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 digabung menjadi : <br />";
print_r($gabung);
?>

</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 numerik. Urutan numerik 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 numerik.
SORT_STRING = 3, mengurutkan item secara string.

Contoh:

<HTML>
<HEAD>
<TITLE> Array Bagian 3 </TITLE>
</HEAD>
<BODY>

<?php
$program = array("HTML","PHP","CSS","JavaScript","AJAX");
echo "Sebelum diurutkan : <br />";
print_r($program);
echo "<br />";
echo "Setelah diurutkan menjadi : <br />";
sort($program,0);
print_r($program);
?>

</BODY>
</HTML>

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 Bagian 3 </TITLE>
</HEAD>
<BODY>

<?php
$program = array("HTML", "PHP", "CSS", "JavaScript");
echo "Sebelum diurutkan :";
echo "<br />";
print_r($program);
echo "<br /> Diurutkan tanpa preserve key: <br />";
$program = array_reverse($program);
print_r($program);
echo "<br /> Diurutkan dengan preserve key: <br />";
$program = array("HTML", "PHP", "CSS", "JavaScript");
$program = array_reverse($program,TRUE);
print_r($program);
?>

</BODY>
</HTML>

Nah untuk tulisan arraybagian terakhir sudah selesai di bahas.Tulisan-tulisan di atas hanyalah sebuah contoh dasar dari fungsi-fungsi array. Untuk pengembangannya tergantung dari anda sendiri, semakin sering anda belajar dan berlatih dengan hal yang baru maka anda semakin bertambah advance. Selamat berakhir pekan dan selamat belajar Laughing.