Page Nav

HIDE

Grid

GRID_STYLE

Breaking News

latest

Fungsi-fungsi Array di PHP

Fungsi-fungsi array di PHP, apa itu array?. Array adalah sekumpulan variabel yang mempunyai nama sama tetapi dibedakan oleh indeks. Array ...


Fungsi-fungsi array di PHP, apa itu array?.
Array adalah sekumpulan variabel yang mempunyai nama sama tetapi dibedakan oleh indeks. Array berguna misalnya dalam suatu pemrograman yang memerlukan beberapa variabel yang akan menampung data dengan tipe data yang sama dan akan mendapat perlakuan yang serupa. Nah, daripada pusing-pusing memikirkan nama variabel yang berbeda-beda, lebih baik menggunakan satu nama variabel tetapi masing-masing dibedakan dengan indeks.
Indeks dapat berupa angka atau string. Jika indeks array berbentuk angka, maka array akan disebut indexed array (vector), sedangkan jika indeksnya berupa string, maka array akan disebut associative array.
Aturan penulisan sebuah array adalah sebagai berikut:
$nama_array[no_indeks] atau $nama_array["str_indeks"]
Nama_array adalah nama variabel yang digunakan sebagai array.
No_indeks adalah nomor indeks untuk vector array. No indeks dimulai dari nol.
Str_indeks adalah string yang digunakan sebagai indeks untuk associative array.
Untuk mendeklarasikan sebuah array dapat digunakan deklarasi eksplisit, artinya langsung memberi nilai pada sebuah array, contoh:
$no_index[1] = 100
$str_index["str"] = 250
Untuk mengeluarkan nilai variabel array dalam fungsi echo digunakan suatu cara tersendiri yaitu menggunakan kurung kurawal. Jadi jika dengan variabel biasa dituliskan sebagai berikut:
<?php echo "Nilai dari variabel adalah $var"; ?>
Maka jika menggunakan array penulisannya adalah sebagai berikut:
<?php echo "Nilai dari variabel array adalah {$no_index[1]}"; ?>
Pemakaian tanda kurung kurawal ini baru dikenal pada PHP 4, sedangkan pada PHP 3, untuk melakukan hal seperti di atas dapat digunakan metoda penggabungan string sebagai berikut:
"Nilai variabel array adalah" . $no_index[3];
Array yang memiliki sebuah indeks disebut dengan array berdimensi satu, sedangkan array dengan indeks lebih dari satu disebut array multi dimensi. Vector array dan associative array dapat digabungkan menjadi array multi dimensi, jadi indeks yang digunakan pada tiap dimensi tidak harus sama-sama angka atau sama-sama string.
Selain dengan deklarasi eksplisit, array juga dapat dideklarasikan dengan fungsi array(). Sintaks dari fungsi array() adalah sebagai berikut:
Array(indeks => nilai) atau Array(nilai)
Jika mengikuti bentuk kedua, maka indeks otomatis akan ditambahkan oleh PHP. Berikut ini akan diberikan contoh penggunaan fungsi array() dengan berbagai variasinya, contohnya :
<HTML>
<HEAD>
<TITLE> Array </TITLE>
</HEAD>
<BODY>
<?php
// tanpa menggunakan indeks
$arrayA = array(1,2,3,4,5,6);
foreach($arrayA as $indeks => $nilai) {
    echo "\$arrayA[$indeks] => $nilai";
    echo "<br />";
}
echo "<br /> <br />";

// menggunakan indeks tapi tidak urut
$arrayB = array(1=>1,3=>2,5=>3,4=>4,0=>5,2=>6);
foreach($arrayB as $indeks => $nilai) {
    echo "\$arrayB[$indeks] => $nilai";
    echo "<br />";
}
echo "<br /> <br />";

// tidak semua menggunakan indeks,
// php akan otomatis memberikan indeks

$arrayC = array(1=>1,2,3,4,0=>5,6);
foreach($arrayC as $indeks => $nilai) {
    echo "\$arrayC[$indeks] => $nilai";
    echo "<br />";
}
echo "<br /> <br />";

// array dua dimensi
// dimensi pertama associative
// dimensi kedua vector

$duadim = array(
    "prog" => array(1=>"HTML","PHP","JavaScript"),
    "nomor" => array(1=>1,2,3),
    "experience" => array(1=>"Beginer","Middle","Advance")
);
foreach($duadim as $k => $v) {
    $x = 1;
    foreach($v as $x => $y) {
        echo "\$duadim[$k] => \$v[$x] => $y <br />";
    $x++;
    }
}
?>
</BODY>
</HTML>
Selanjutnya kita akan bahas fungsi-fungsi lain yang digunakan untuk bekerja dengan array.
Fungsi count() dan sizeof()
Kedua fungsi ini memiliki kegunaan yang sama, yaitu menghitung jumlah elemen yang dimiliki oleh sebuah array.  Sintaksnya adalah sebagai berikut:
count($array)
sizeof($array)
Contoh:
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$jumlah = count($a);
//variabel $jumlah akan bernilai 3

$b["buah"] = "semangka";
$b["sayur"] = "wortel";
$b["daging"] = "ayam";
$b["utama"] = "nasi";
$jumlah = sizeof($b);
//variabel $jumlah akan bernilai 4
Fungsi array_push()
Fungsi ini digunakan untuk menyisipkan elemen baru ke dalam sebuah array. Elemen baru ini disisipkan pada bagian paling akhir. Sintaksnya adalah sebagai berikut:
Array_push($array,nilai[nilai,...])
Nilai adalah nilai-nilai baru yang akan disisipkan ke dalam array. Contoh:

$program = array ("HTML", "PHP");
array_push ($program, "CSS", "JavaScript");
// anggota $program sekarang menjadi "HTML", "PHP", "CSS", "JavaScript"
Fungsi array_splice()
Fungsi ini digunakan untuk mengambil/membuang satu atau beberapa elemen array dan menggantikannya dengan yang baru. Sintaksnya adalah sebagai berikut:
array_splice ($array, letak [, panjang [, pengganti]])
Parameter letak menunjukkan mulai dari elemen ke berapa array tersebut akan diganti/dibuang. Jika nilainya positif, maka elemen dihitung dari depan, jika negatif, maka elemen dihitung dari belakang.
Parameter panjang – jika nilainya positif – menunjukkan jumlah elemen yang akan diganti/dibuang. Jika negatif, maka jumlah elemen yang tertinggal (tidak diganti/dibuang) dihitung dari belakang sejumlah nilai parameter panjang. Jika parameter panjang tidak disebutkan, maka elemen array mulai dari yang ditunjukkan parameter letak sampai ke elemen terakhir akan diganti/dibuang.
Parameter pengganti adalah merupakan nilai-nilai yang menggantikan elemen-elemen yang telah dibuang.
Contoh:
<HTML>
<HEAD>
<TITLE> Array </TITLE>
</HEAD>
<BODY>
<?php
echo "Anggota array awal adalah: <br />";
$input = array ("HTML", "PHP", "CSS", "JavaScript");
print_r($input);
echo "<br /><br />";

echo "array_splice(\$input,2)";
echo "<br />";
$input = array ("HTML", "PHP", "CSS", "JavaScript");
array_splice ($input, 2);
print_r($input);
echo "<br /><br />";

echo "array_splice(\$input,1,-1)";
echo "<br />";
$input = array ("HTML", "PHP", "CSS", "JavaScript");
array_splice ($input, 1, -1);
print_r($input);
echo "<br /><br />";

echo "array_splice(\$input,1, count(\$input), \"AJAX\")";
echo "<br />";
$input = array ("HTML", "PHP", "CSS", "JavaScript");
array_splice ($input, 1, count($input), "AJAX");
print_r($input);
echo "<br /><br />";

echo "array_splice(\$input,-1,1, array(\"JQuery\",\"Framework\"))";
echo "<BR>";
$input = array ("HTML", "PHP", "CSS", "JavaScript");
array_splice ($input, -1, 1, array("JQuery", "Framework"));
print_r($input);
?>
</BODY>
</HTML>

Selamat belajar.
-----


Pada tulisan sebelumnya kita telah belajar mengenai array dan beberapa fungsi dasarnya. Sekarang pembahasan kita akan meningkat menuju ke fungsi-fungsi array PHP yang lebih dalam lagi. Fungsi-fungsi tersebut adalah:

Fungsi is_array()
Fungsi is_array() digunakan untuk memeriksa apakah sebuah variabel merupakan array atau bukan. Jika sebuah variabel merupakan array, fungsi ini akan menghasilkan nilai true dan jika bukan array akan menghasilkan nilai false. Sintaksnya adalah sebagai berikut:
Is_array(variabel)
Contoh:
<HTML>
<HEAD>
<TITLE> Array Bagian 2 </TITLE>
</HEAD>
<BODY>
<?php
$var = array(1,2,3,4,5,6,7);
$scan = is_array($var);
if ($scan == false) {
    $status = "bukan";
} else {
    $status = "";
}
echo "\$var = array(1,2,3,4,5,6,7);";
echo "<br />";
echo "Variabel \$var $status merupakan array";
?>
</BODY>
</HTML>
Pada contoh ini karena variabel $var dideklarasikan sebagai array, maka hasil yang diberikan adalah teks "Variabel $var merupakan array". Jika seandainya variabel $var dideklarasikan sebagai $var = "array", maka hasilnya adalah "Variabel $var bukan merupakan array", cuma isinya saja yang berupa teks "array".
Fungsi list()
Fungsi list() digunakan untuk mengambil komponen-komponen array sebagai variabel-variabel yang terpisah. Sintaksnya adalah sebagai berikut:
List($item1, $item2, ... , $itemn) = array
Jumlah variabel $item harus sama dengan atau kurang dari jumlah komponen yang dimiliki array.
Contoh:
<HTML>
<HEAD>
<TITLE> Array Bagian 2 </TITLE>
</HEAD>
<BODY>
<?php
$program = array('Bobo','Doraemon','Spiderman');
list($Majalah, $Komik, $Film) = $program;
echo "Jenis Buku & Hiburan :";
echo "<br />";
echo "Cerpen : $Majalah";
echo "<br />";
echo "Cerita Bergambar : $Komik";
echo "<br />";
echo "Bioskop : $Film";
?>
</BODY>
</HTML>
Pada contoh tersebut $program merupakan array dengan tiga komponen, yaitu "Bobo", "Doraemon", dan "Spiderman". Jika ketiga komponen tersebut ingin dimasukkan ke dalam variabel tersendiri, maka fungsi list harus memberikan tiga buah variabel untuk menampung ketiga komponen tersebut. Fungsi list() tidak harus "menangkap" ketiga komponen tersebut, melainkan dapat kurang dari itu. Contoh:
<HTML>
<HEAD>
<TITLE> Array Bagian 2 </TITLE>
</HEAD>
<BODY>
<?php
$program = array('Bobo','Doraemon','Spiderman');
list($Majalah, , $Film) = $program;
echo "Jenis Buku & Hiburan :";
echo "<br />";
echo "Cerpen : $Majalah";
echo "<br />";
echo "Bioskop : $Film";
?>
</BODY>
</HTML>
Contoh kedua ini hanya menangkap komponen pertama dan ketiga. Perhatikan bahwa harus terdapat spasi kosong dan dua buah koma di antara variabel yang menangkap komponen pertama dan ketiga. Tempat kosong tersebut adalah tempat yang seharusnya diisi oleh variabel yang akan menangkap komponen kedua.

Fungsi split()
Fungsi split digunakan untuk memecah suatu string menjadi array berdasarkan karakter pemisah tertentu. Sintaksnya adalah sebagai berikut:
split(karakter, teks, [batas])
Karakter adalah karakter yang digunakan untuk memisahkan array.
Teks adalah string yang akan dipecah menjadi array.
Batas adalah jumlah komponen yang akan dihasilkan.
Contoh:
<HTML>
<HEAD>
<TITLE> Array Bagian 2 </TITLE>
</HEAD>
<BODY>
<?php
$tanggal = "27-02-1982";
list($hari, $bulan, $tahun) = split("-", $tanggal);
echo "Hari = $hari";
echo "<br />";
echo "Bulan = $bulan";
echo "<br />";
echo "Tahun = $tahun";
?>
</BODY>
</HTML>
Pada contoh tersebut variabel $tanggal berisi string "27-02-1982". Dengan fungsi split, variabel $tanggal tersebut dipecah menjadi array dengan karakter pemisah "-", sehingga menjadi sebuah array dengan komponen "27", "02", "1982". Komponen array ini kemudian ditampung ke dalam 3 buah variabel dengan fungsi list().
Fungsi list juga dapat menggunakan regular ekspression. Sebagai contoh, karena orang dapat menuliskan tanggal dengan berbagai macam cara, misalnya 27/02/1982, 27-02-1982, 27.02.1982, maka karakter pemisah dalam fungsi split harus dapat mengantisipasi perbedaan-perbedaan tersebut, sehingga penggunaanya adalah sebagai berikut:
list($bulan, $hari, $tahun) = split("[/.-]", $tanggal);
Fungsi split() identik dengan fungsi explode().
Fungsi join()
Fungsi ini pada prinsipnya adalah kebalikan fungsi split(), yaitu digunakan untuk mengumpulkan komponen-komponen array menjadi suatu string. Sintaksnya adalah sebagai berikut:
join(karakter, array)
Karakter adalah karakter yang digunakan untuk “merekatkan” komponen-komponen array.
Contoh:

<HTML>
<HEAD>
<TITLE> Array Bagian 2 </TITLE>
</HEAD>
<BODY>
<?php
$var = array('03', '07', '1973');
$tanggal = join("/", $var);
echo "$tanggal";
?>
</BODY>
</HTML>
Fungsi join() identik dengan fungsi implode().

Fungsi in_array()
Fungsi in_array() digunakan untuk memeriksa apakah suatu nilai tertentu terdapat sebagai komponen di dalam sebuah array. Sintaksnya adalah sebagai berikut:
in_array(cari, array, [tipe])
Cari adalah nilai yang akan dicari apakah terdapat pada sebuah array.
Tipe adalah boolean yang mengindikasikan apakah tipe data akan disertakan dalam pencarian. Jika suatu nilai ditemukan tapi tipe datanya tidak sama, maka fungsi in_array() dianggap gagal.
Fungsi ini bersifat case-sensitive.
Contoh:
<HTML>
<HEAD>
<TITLE> Array Bagian 2 </TITLE>
</HEAD>
<BODY>
<?php
$program = array("HTML", "PHP", "CSS", "JavaScript");
print_r($program);
$cari = "HTML";
if (in_array($cari, $program)) {
    echo "Program Basis Web $cari ada di dalam array";
} else {
    echo "Program Basis Web $cari tidak ada di dalam array";
}
?>
</BODY>
</HTML>
Jika tipe disertakan contohnya adalah sebagai berikut:
<HTML>
<HEAD>
<TITLE> Array Bagian 2 </TITLE>
</HEAD>
<BODY>
<?
$tipe = array('1.10', 5.0, 1.13);
if (in_array('5.0', $tipe, TRUE)) {
    echo "String \"5.0\" ada di dalam array";
} else {
    echo "String \"5.0\" tidak ada di dalam array";
}
echo "<br />";
if (in_array(1.13, $tipe, TRUE)) {
    echo "Bilangan 1.13 ada di dalam array";
} else {
    echo "Bilangan 1.13 tidak ada di dalam array";
}
?>
</BODY>
</HTML>
Pada contoh kedua ini, yang ditemukan adalah bilangan 1.13, sedangkan string "5.0" tidak ditemukan karena pada array merupakan bilangan, bukan array. Selamat berkreatifitas.
-----


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.


Sumber

2 komentar