Belajar PHP 8- Fungsi-fungsi Array di PHP (bag.2)

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>


Sumber: PCPlus
Previous
Next Post »

Silakan tinggalkan komentar... ConversionConversion EmoticonEmoticon