Array Adalah tempat untuk menampung sejumlah nilai Menciptakan array: cara 1 $kota = array(“yogya”, “Solo”, “Semarang”, “Bandung”); cara 2 $kota[] $kota[] $kota[] $kota[] cara 3 $kota[0] $kota[1] $kota[2] $kota[3]
= = = =
"yogya"; "Solo"; "Semarang"; "Bandung"; = = = =
"yogya"; "Solo"; "Semarang"; "Bandung";
Angka dalam tanda [] disebut kunci atau indeks. Secara default indeks dimulai dari 0 Namun indeks tidak harus dimulai dari 0 Bahkan diijinkan indeks yang tidak urut
Mengambil isi array:
$nama_array [indeks] contoh: print($kota[0]); skrip kota.php
<TITLE>Contoh Array ");
?>
Mengetahui jumlah elemen array: dengan fungsi count printf("Jumlah elemen = %d", count($kota)); Indeks array bisa berbentuk string.
$hari["Sunday"]
= "Minggu";
skrip hari.php <TITLE>Menentukan Nama Hari Memakai Array "Minggu", "Monday" => "Senin", "Tuesday" => "Selasa", "Wednesday" => "Rabu", "Thursday"=> "Kamis", "Friday" => "Jumat", "Saturday" => "Sabtu"); $hari_inggris = date("l"); print("Hari ini hari $hari[$hari_inggris]"); ?>
Data dalam array bisa berbeda tipe dan indeks berbeda tipe skrip aneka.php <TITLE>Array dengan
Indeks dan Data Berlainan Tipe
50; "ABC"; = 70; = "Bagus";
print($serbaguna[0]); print($serbaguna[1]); print($serbaguna["A"]); print($serbaguna["B"]);
?>
Hasil: 50 ABC 70 Bagus
print("
\n"); print("
\n"); print("
\n"); print("
\n");
Operasi dengan pointer internal setiap array mempunyai pointer internal pointer internal berfungsi untuk menunjuk elemen sekarang Fungsi yang berhubungan dengan pointer internal Fungsi Keterangan current menghasilkan nilai elemen sekarang yang ada dalam array pemanggilan: current(nama_array) each menghasilkan kunci (indeks) dan elemen sekarang, dan memajukan pointer internal ke elemen berikutnya Pemanggilan: each(nama_array) hasil fungsi = array dengan 4 elemen: • indeks 0: indeks array • indeks 1: data elemen array yang indeksnya dalam indeks 0 • indeks “key”: indeks array • indeks “value”: data elemen array yang indeksnya dalam indeks 0 • bila pointer berada sesudah elemen terakhir, each akan memberikan nilai balik = FALSE end meletakkan pointer internal ke elemen terakhir pada array dan menghasilkan nilai elemennya pemanggilan: end(nama_array) prev menghasilkan nilai elemen sebelum posisi pointer sekarang, dan meletakkan pointer ke lokasi tersebut pemanggilan: prev(nama_array) key menghasilkan indeks elemen sekarang pemanggilan: key(nama_array) pos menghasilkan nilai elemen sekarang pemanggilan: pos(nama_array) reset meletakkan pointer ke elemen pertama, dan menghasilkan nilai elemen tersebut pemanggilan: reset(nama_array) next meletakkan pointer ke elemen berikutnya, dan menghasilkan nilai elemen tersebut pemanggilan: next(nama_array) Contoh penggunaan pointer internal, skrip PointerArr.php <TITLE>Contoh Array
for($indeks = 0; $indeks < 4; $indeks++) printf("%s
", $kota[$indeks]); print("
"); printf("Jumlah elemen = %d
", count($kota)); // contoh current print("
pemanggilan current "); $isi = current($kota); print("elemen sekarang = $isi
"); // contoh each $data = each($kota); $indeks = $data[0]; $isi = $data[1]; print("
pemanggilan each "); print("indeks = $indeks
"); print("elemen = $isi
"); print("key = $data[key]
"); print("value = $data[value]
"); print("
pemanggilan current "); $isi = current($kota); print("elemen sekarang = $isi
"); print("
pemanggilan end "); $isi = end($kota); print("elemen sekarang = $isi
"); print("
pemanggilan prev "); $isi = prev($kota); print("elemen sekarang = $isi
"); print("
pemanggilan key dan pos "); $indeks = key($kota); $isi = pos($kota); print("indeks sekarang = $indeks
"); print("elemen sekarang = $isi
"); print("
pemanggilan reset "); $isi = reset($kota); print("elemen sekarang = $isi
"); print("
pemanggilan next "); $isi = next($kota); print("elemen sekarang = $isi
"); print("
pemanggilan each utk menampilkan semua "); reset($kota); // agar pointer di awal array while(TRUE) { $data = each($kota); if($data == FALSE) break; $indeks = $data[0]; $isi = $data[1]; print("indeks = $indeks, elemen = $isi
"); }
?>
Hasil yogya Solo Semarang Bandung Jumlah elemen = 4 pemanggilan current elemen sekarang = yogya pemanggilan each indeks = 0 elemen = yogya key = 0 value = yogya pemanggilan current elemen sekarang = Solo pemanggilan end elemen sekarang = Bandung pemanggilan prev elemen sekarang = Semarang pemanggilan key dan pos indeks sekarang = 2 elemen sekarang = Semarang pemanggilan reset elemen sekarang = yogya pemanggilan next elemen sekarang = Solo pemanggilan each utk menampilkan semua indeks = 0, elemen = yogya indeks = 1, elemen = Solo indeks = 2, elemen = Semarang indeks = 3, elemen = Bandung
Array Multidimensi Contoh peserta kursus Kursus Peserta PHP Anto, Edi, Sita Delphi Anto, Rina MySQL Nana, Dito, Ika, Setia C++ Ika, Sari, Joned Java Nana, Irvan dapat diimplementasikan kedalam array dimensi dua. contoh skrip duadim.php <TITLE>Array Berdimensi Dua array("Anto", "Edi", "Sita"), "Delphi" => array("Anto", "Rina"), "MySQL" => array("Nana", "Dito", "Ika", "Setia"), "C++" => array("Ika", "Sari", "Joned"), "Java" => array("Nana", "Irvan")); // Menampilkan isi array while ( list($indeks1, $nilai1) = each($peserta) ) { print("Peserta $indeks1 :
\n"); while ( list($indeks2, $nilai2) = each($nilai1) ) { printf("%d. %s
", $indeks2+1, $nilai2); } } ?>
Hasil: Peserta PHP : 1. Anto 2. Edi 3. Sita Peserta Delphi : 1. Anto 2. Rina Peserta MySQL : 1. Nana 2. Dito
3. Ika 4. Setia Peserta C++ : 1. Ika 2. Sari 3. Joned Peserta Java : 1. Nana 2. Irvan
Fungsi pengurutan Array Fungsi asort arsort ksort krsort rsort sort natsort
Keterangan urut naik, indeks tidak berubah urut turun, indeks tidak berubah urut naik berdasar indeks urut turun berdasar indeks urut turun urut naik urut secara alamiah
Contoh, skrip urutarr.php
<TITLE>Pengurutan Data
= = = =
"Nanas"; "Pepaya"; "Mangga"; "Apel";
print("Data Asli : "); while ( list($indeks, $nilai) = each($buah1) ) { print("[$indeks] -> $nilai "); } print("
\n"); // Pengurutan dengan asort $buah2 = $buah1; asort($buah2); print("Hasil asort : "); while ( list($indeks, $nilai) = each($buah2) ) { print("[$indeks] -> $nilai "); }
print("
\n"); // Pengurutan dengan arsort $buah2 = $buah1; arsort($buah2); print("Hasil arsort : "); while ( list($indeks, $nilai) = each($buah2) ) { print("[$indeks] -> $nilai "); } print("
\n"); // Pengurutan dengan krsort $buah2 = $buah1; krsort($buah2); print("Hasil krsort : "); while ( list($indeks, $nilai) = each($buah2) ) { print("[$indeks] -> $nilai "); } print("
\n"); // Pengurutan dengan rsort $buah2 = $buah1; rsort($buah2); print("Hasil rsort : "); while ( list($indeks, $nilai) = each($buah2) ) { print("[$indeks] -> $nilai "); } print("
\n"); // Pengurutan dengan sort $buah2 = $buah1; sort($buah2); print("Hasil sort : "); while ( list($indeks, $nilai) = each($buah2) ) { print("[$indeks] -> $nilai "); } print("
\n"); // Pengurutan dengan ksort $buah2 = $buah1; ksort($buah2); print("Hasil ksort : "); while ( list($indeks, $nilai) = each($buah2) ) {
print("[$indeks] -> $nilai "); } print("
\n");
?>
Hasil: Data Asli : [A] -> Nanas [E] -> Pepaya [C] -> Mangga [F] -> Apel Hasil asort : [F] -> Apel [C] -> Mangga [A] -> Nanas [E] -> Pepaya Hasil arsort : [E] -> Pepaya [A] -> Nanas [C] -> Mangga [F] -> Apel Hasil krsort : [F] -> Apel [E] -> Pepaya [C] -> Mangga [A] -> Nanas Hasil rsort : [0] -> Pepaya [1] -> Nanas [2] -> Mangga [3] -> Apel Hasil sort : [0] -> Apel [1] -> Mangga [2] -> Nanas [3] -> Pepaya Hasil ksort : [A] -> Nanas [C] -> Mangga [E] -> Pepaya [F] -> Apel Perbedaan sort dan natsort, spt contoh skrip urutalm.php <TITLE>Pengurutan Data Secara Alamiah
= = = =
"11 Nanas"; "1 Nanas"; "2 Nanas"; "12 Nanas";
print("Data Asli :
\n"); while ( list($indeks, $nilai) = each($buah1) ) { print("$nilai
\n"); } print("
\n"); // Pengurutan dengan sort $buah2 = $buah1; sort($buah2); print("Hasil sort :
\n"); while ( list($indeks, $nilai) = each($buah2) ) { print("$nilai
\n"); } print("
\n"); // Pengurutan dengan natsort $buah2 = $buah1;
natsort($buah2); print("Hasil natsort :
\n"); while ( list($indeks, $nilai) = each($buah2) ) { print("$nilai
\n"); } print("
\n"); ?>
Hasil: Data Asli : 11 Nanas 1 Nanas 2 Nanas 12 Nanas Hasil sort : 1 Nanas 11 Nanas 12 Nanas 2 Nanas Hasil natsort : 1 Nanas 2 Nanas 11 Nanas 12 Nanas
Mengambil dan Menambah elemen array Fungsi array_pop array_push array_shift array_unshift
Keterangan ambil elemen terakhir dan hapus tambah elemen baru di akhir ambil elemen awal dan hapus tambah elemen baru di awal
Contoh, skrip tumpukan.php <TITLE>Pengurutan Data Secara Alamiah
$tumpukan[0] = "A"; $tumpukan[1] = "B"; $tumpukan[2] = "D"; // Tambah dua buah elemen di akhir array $jum = array_push($tumpukan, "E", "F"); print("Hasil setelah array_push :
\n"); while ( list($indeks, $nilai) = each($tumpukan) ) { print("$nilai "); } print("
\n"); print("Jumlah elemen = $jum
\n"); // Hapus elemen terakhir $nilai = array_pop($tumpukan); print("Data yang dihapus: $nilai
\n"); // Tambah dua buah elemen di awal array $jum = array_unshift($tumpukan, "X", "Z"); print("Hasil setelah array_unshift :
\n"); while ( list($indeks, $nilai) = each($tumpukan) ) { print("$nilai "); } print("
\n"); print("Jumlah elemen = $jum
\n"); // Hapus elemen pertama $nilai = array_shift($tumpukan); print("Data yang dihapus: $nilai
\n"); // Tampilkan isi array print("Isi tumpukan sekarang :
\n"); while ( list($indeks, $nilai) = each($tumpukan) ) { print("$nilai "); } print("
\n"); ?>
Hasil:
Hasil setelah array_push : ABDEF Jumlah elemen = 5 Data yang dihapus: F Hasil setelah array_unshift : XZABDE Jumlah elemen = 6 Data yang dihapus: X Isi tumpukan sekarang : ZABDE
Memeriksa keberadaan nilai di array • • •
Dengan fungsi in_array hasil fungsi: true = ada, false=tidak ada contoh, apakah ada data “X” dalam array $data $ada = in_array(“X”, $data);
Pengulangan dengan foreach bentuk 1: foreach(ungkapan_array as $nilai) pernyataan setiap nilai pada array akan diberikan ke variabel nilai pada setiap iterasi contoh:
$peserta = array ("Andi", "Siti", "Jatmiko" ,"Edi"); foreach ($peserta as $nilai) print("$nilai
\n");
bentuk 2: foreach(ungkapan_array as $kunci => $nilai) pernyataan variabel kunci berisi indeks, variabel nilai berisi nilai array contoh: $peserta = array ("Andi", "Siti", "Jatmiko" ,"Edi"); foreach ($peserta as $kunci => $nilai) print("$kunci. $nilai
\n");