Pengertian Array
Array adalah satu rangkaian elemen (variable) bertipa sama yang menempati memori secara teratur yang dapat diakses secara individu dengan menambahkan suatu index (subscript) kepada suatu nama unik .
Array disebut juga larik.
Memuat dan Mengakses Array
Untuk mebuat/menciptakan suatu array digunakan fungsi array().
<html>
<head>
<title>Rasid</title>
</head>
<body>
<?php
// Menciptakan array Cara 1
$warna = array (“Merah”,”Kuning”,”Hijau”);
// Assigment array Cara 2
// $warna[0] = “Merah”;
// $warna[1] = “Kuning”;
// $warna[2] = “Hijau”;
// Assigment array Cara 3
// $warna[] = “Merah”;
// $warna[] = “Kuning”;
// $warna[] = “Hijau”;
// Mengakses array
echo (“<h3> Elemen Array </h3> “);
echo (“\$warna[0] = $warna[0] <br>”);
echo (“\$warna[1] = $warna[1] <br>”);
echo (“\$warna[2] = $warna[2] <br>”);
?>
</body>
</html>
Array Asosiatif
Array secara umum mengacu pada elemennya dengan suatu nomor index, tetapi PHP menijinkan indexnya berupa string.
<html><head><title>Rasid</title></head><body><?php
// Assigment array Cara 1$kode[“Jogja”] = “0274”;$kode[“Jakarta”] = “021”;$kode[“Medan”] = “061”;
// Assigment array Cara 2// $kode = array (“Jogja” => “0274” , “Jakarta” => “021” , “Medan” => “061”);
// Mengakses arrayprint (“<h3> Elemen Array </h3> “);printf (“Kode Jogja = %s <br>”, $kode[“Jogja”]);printf (“Kode Jakarta = %s <br>”, $kode[“Jakarta”]);printf (“Kode Medan = %s <br>”, $kode[“Medan”]);?> </body></html>
Array dengan Indek Campuran
Array dengan index campuran yang dimaksud disini adalah array dengan index berupa bilangan integer positif dan string.
Demikian juga dengan tipe data darielemen yang disimpan dalam array.
<html>
<head>
<title>Campuran</title>
</head>
<body>
<?php
// Assigment array
$Barang[0] = “Komputer”;
$Barang[‘Harga’] = 6500000;
$Barang[‘Jumlah’] = “5 Unit”;
$Barang[‘Diskon’] = 0.15;
// Mengakses array
print (“<h3> Elemen Array </h3> “);
printf (“\$Barang[0] = %s <br>”, $Barang[0]);
printf (“\$Barang[‘Harga’] = %s <br>”, $Barang[‘Harga’]);
printf (“\$Barang[‘Jumlah’] = %s <br>”, $Barang[‘Jumlah’]);
printf (“\$Barang[‘Diskon] = %s <br>”, $Barang[‘Diskon’]);
?>
</body>
</html>
Penggabungan Array
Penggabungan array proses menggabungkan dua buah array menjadi satu buah array menggunakan fungsi array_union() atau array_merge().
Catatan: fungsi count() dan sizeof() digunakan untuk mengetahui banyaknyaelemen array.
<html>
<head>
<title>Gabung</title>
</head>
<body>
<?php
// Assigment array
$Kota[0] = “Jogja”;
$Kota[1] = “Jakarta”;
$Kota[2] = “Jambi”;
$Hari[0] = “Senin”;
$Hari[1] = “Selasa”;
$Hari[2] = “Rabu”;
$Hari[3] = “Kamis”;
$Gabung = array_merge($Kota, $Hari);
$JmlElemenKota = count($Kota);
$JmlElemenHari = sizeof($Hari);
$JmlElemenGabung = sizeof($Gabung);
print (“<b> Elemen Array Kota <br></b>”);
print_r ($Kota);
print (“<br>”);
print (“<b> Elemen Array Hari <br></b>”);
print_r ($Hari);
print (“<br>”);
print (“<b> Elemen Array Gabung <br></b>”);
print_r ($Gabung);
print (“<br>”);
printf (“Jumlah elemen Kota = %d <br>”, $JmlElemenKota);
printf (“Jumlah elemen Hari = %d <br>”, $JmlElemenHari);
printf (“Jumlah elemen Gabung = %d <br>”, $JmlElemenGabung);
?>
</body>
</html>
Fungsi pengurutan dalam array
Fungsi | Keterangan |
arsort(array) | Mengurutkan elemen array secara menurun (descending) |
asort(array) | Mengurutkan elemen array secara menaik (acending) |
krsort(array) | Mengurutkan index array secara menurun (descending) |
Ksort(array) | Mengurutkan index array secara menaik (acending) |
natsort(array) | Mengurutkan elemen array secara urutan alamiah. |
natcasesort(array) | Mengurutkan elemen array secara urutan alamiah. Yang bersifat sensitive case. |
rsort(array) | Mengurutkan elemen array secara menurun dan tidak mempertahankan indexnya. |
sort(array) | Mengurutkan elemen array secara menaik dan tidak mempertahankan indexnya. |
<html>
<head><title>Urut</title></head>
<body>
<?php
// Assigment array
$Kota[0] = “Jakarta”;
$Kota[1] = “Bandung”;
$Kota[2] = “Surabaya”;
$Kota[3] = “Pontianak”;
$Kota[4] = “Yogyakarta”;
$Kota[5] = “Medan”;
//Mengakses Array
print (“<b> Elemen Awal Array <br></b>”);
print_r ($Kota);
print (“<br>”);
$Kotaku =$Kota ;
arsort($Kotaku);
print (“<b> Setelah <u>artsort</u> : <br></b>”);
print_r ($Kotaku);
print (“<br>”);
$Kotaku =$Kota ;
asort($Kotaku);
print (“<b> Setelah <u>asort</u> : <br></b>”);
print_r ($Kotaku);
print (“<br>”);
$Kotaku =$Kota ;
krsort($Kotaku);
print (“<b> Setelah <u>krsort</u> : <br></b>”);
print_r ($Kotaku);
print (“<br>”);
$Kotaku =$Kota ;
ksort($Kotaku);
print (“<b> Setelah <u>ksort</u> : <br></b>”);
print_r ($Kotaku);
print (“<br>”);
$Kotaku =$Kota ;
natsort($Kotaku);
print (“<b> Setelah <u>natsort</u> : <br></b>”);
print_r ($Kotaku);
print (“<br>”);
$Kotaku =$Kota ;
natcasesort($Kotaku);
print (“<b> Setelah <u>natcasesort</u> : <br></b>”);
print_r ($Kotaku);
print (“<br>”);
$Kotaku =$Kota ;
rsort($Kotaku);
print (“<b> Setelah <u>rsort</u> : <br></b>”);
print_r ($Kotaku);
print (“<br>”);
$Kotaku =$Kota ;
sort($Kotaku);
print (“<b> Setelah <u>sort</u> : <br></b>”);
print_r ($Kotaku);
print (“<br>”);
?>
</body>
</html>
Contoh 2
<html>
<head>
<title>Urut</title>
</head>
<body>
<?php
// Assigment array
$gambar[0] = “Gambar1a”;
$gambar[1] = “Gambar20”;
$gambar[2] = “Gambar1B”;
$gambar[3] = “Gambar35”;
$gambar[4] = “Gambar3”;
//Mengakses Array
print (“<b> Elemen Array Awal<br></b>”);
while (list($indeks, $nilai) = each($gambar))
{
print (“$nilai <br>”);
}
$gambarku = $gambar;
natsort($gambarku);
print (“<b> Setelah <u> natsort</u> </b> <br>”);
while (list($indeks, $nilai) = each($gambarku))
{
print (“$nilai <br>”);
}
$gambarku = $gambar;
natcasesort($gambarku);
print (“<b> Setelah <u> natcasort</u> </b> <br>”);
while (list($indeks, $nilai) = each($gambarku))
{
print (“$nilai <br>”);
}
$gambarku = $gambar;
rsort($gambarku);
print (“<b> Setelah <u> rsort</u> </b> <br>”);
while (list($indeks, $nilai) = each($gambarku))
{
print (“$nilai <br>”);
}
$gambarku = $gambar;
sort($gambarku);
print (“<b> Setelah <u> sort</u> </b> <br>”);
while (list($indeks, $nilai) = each($gambarku))
{
print (“$nilai <br>”);
}
?>
</body> </html>
Fungsi POP,PUSH, SHIFT
Fungsi pop, push, dan shift dapat diperlakukan pada array layaknya opreasi seperti pada stack (tumpukan).
Fungsi | Keterangan |
array_pop(array) | Menghapus elemen terakhir suatu array. |
array_push(array, data1,…) | Menambah satu atau beberapa elemen diakhir dari array sama , dengan perintah : $arra[]=$var |
array_shift(array) | Menghapus elemen pertama dari suatu array |
array_unshift(array, data1, …) | Menambah satu atau beberapa elemen diawalsuatu array. |
<html>
<head>
<title>String</title>
</head>
<body>
<?php
// Assigment array
$buah[0] = “Jeruk”;
$buah[1] = “Apel”;
$buah[2] = “Pisang”;
//Mengakses Array
print (“<b> Elemen Array Awal </b><br>”);
while (list($indeks, $nilai) = each($buah))
{
print (“$nilai <br>”);
}
$buahku = $buah;
array_pop($buahku);
print (“<b> Setelah <u> array_pop</u> </b> <br>”);
while (list($indeks, $nilai) = each($buahku))
{
print (“$nilai <br>”);
}
$buahku = $buah;
array_push($buahku,”Durian”);
print (“<b> Setelah <u> array_push</u> </b> <br>”);
while (list($indeks, $nilai) = each($buahku))
{
print (“$nilai <br>”);
}
$buahku = $buah;
array_shift($buahku);
print (“<b> Setelah <u> array_shift</u> </b> <br>”);
while (list($indeks, $nilai) = each($buahku))
{
print (“$nilai <br>”);
}
$buahku = $buah;
array_unshift($buahku, “Mangga” , “Nanas”);
print (“<b> Setelah <u> array_unshift</u> </b> <br>”);
while (list($indeks, $nilai) = each($buahku))
{
print (“$nilai <br>”);
}
?>
</body>
</html>
Fungsi Array_rand
Fungsi array_rand digunakan untuk mengambil satu elemen atau lebih suatu array secara random.
Sintak: array_rand(array[,jumlah])
Bila jumlah tidak ditentukan maka akan digunakan nilai default, yaitu 1.
Contoh
Fungsi srand() / fungsi matematika berguna sebgai generator yang menghasilkan bilangan yang benar benar random microtime() perhitungan waktu dalam micro detik.
Hasil eksekusi berubah setiap kali dijalankan.
<html>
<head>
<title>Rand</title>
</head>
<body>
<?php
srand ((float) microtime() * 1000000);
$buku = array (“PHP”, “Java”, “C++”, “MySQL”, “Perl”);
$kunci = array_rand ($buku,2);
printf (“Elemen data : %s” . “<br>” , $buku[$kunci[0]]);
printf (“Elemen data : %s” . “<br>” , $buku[$kunci[1]]);
print (“Nomor Indeks : $kunci[0] <br> “);
print (“Nomor Indeks : $kunci[1] <br> “);
?>
</body>
</html>
Fungsi Shuffle
Fungsi shuffle bergunauntuk mengacak urutan elemen darisuatu array yang juga digunakan bersama sama dengan fungsi srand().
Fungsi range() digunakan untuk membuat dan mengisi elemen array dengan range data yang ditentukan dapat berupa angka ataupunkarakter.
<html>
<head>
<title>Suffle</title>
</head>
<body>
<?php
$bilangan = range (“A” , “J”);
echo “Nilai awal <br>” ;
while (list($indeks, $data) = each ($bilangan))
{
echo “Indeks[$indeks] => $data <br> “;
}
echo “<br>”;
echo “<b> seteleh shuffle : </b> <br>”;
srand ((float) microtime() * 1000000);
shuffle ($bilangan);
while (list($indeks, $data) = each ($bilangan))
{
echo “Indeks[$indeks] => $data <br> “;
}
?>
</body>
</html>
Fungsi Pengurai dan Pengabung String
Fungsi pengurai string berguna untuk menguraikan/memisah suatu string menjadi beberapa sub-string yang menjadi elemen dalam array.
Fungsi penggabungan string berguna untuk menggabungkan elemen array menjadi string.
Fungsi | Keterangan |
explode(pemisah, string[,batas]) | Memisahkan string menjadi sub string berdasarkan pemisah sebanyak batas (jika batas ditentukan nilainya) menjadi elemen array. |
Implode(string_perakat, array) atauJoin(string_perekat, array) | Menggabungkan elemen suatu array menjadi suatu string dengan pemisah string_perekat |
Split(pola_stirng, string[‘batas]) | Memisahkan string menjadi substring dengan batasan batasan pemisah dibentuk oleh ekspresi reguler pola_string sebanyak batas (jika batas ditentukan nilainya) menjadi elemen array. |
Preg_split(pola_string, string subjek[‘batas[,int flag]]) | Memisah string menjadi sub string dengan batasan pemisah yang dibentuk oleh ekspresi reguler. |
<html>
<head>
<title>PUSH</title>
</head>
<body>
<?php
$teks1 = “Pemrograman Web Dengan PHP”;
print (“Teks Asli : $teks1 <br>”);
$hasil = explode (” “,$teks1);
print (“<b> Setelah Explode :</b> <br>”);
print_r ($hasil);
print (“<br>”);
$gabung1 = implode (“-“, $hasil);
$gabung2 = join(“-“,$hasil);
print (“<b> Setelah Implode :</b> <br> “);
print_r ($gabung1);
print (“<br>”);
print (“<b> Setelah Join : </b> <br> “);
print_r ($gabung2);
print (“<br> <br> “);
$teks2 = “29.3.2012”;
$apisah1 = split(‘[/.-]’ , $teks2);
print (“Teks Asli : $teks2 <br>”);
print (“<b> Setelah split :</b> <br>”);
print_r ($apisah1);
print (“<br><br>”);
$teks3 = “PEMROGRAMAN PHP”;
$apisah2 = preg_split (‘//’ , $teks3, -1, PREG_SPLIT_NO_EMPTY);
$banyak = sizeof($apisah2);
print (“Teks asli : $teks3 <br>”);
print (“<b> Setelah preg_split : </b><br>”);
$i = 0 ;
while ($i <= $banyak )
{
print ($apisah2[$i].” “);
$i++;
}
?>
</body>
</html>
Array Multidimensi
Array satu dimensi sering disebut array dari bentuk vektor.
Array dua dimensi sering disebut array dari bentuk metrik.
Array tiga dimensi sering disebut array dari bentuk ruang.
<html>
<head>
<title>2 Dimensi</title>
</head>
<body>
<?php
$software = array(“Pemrograman”=>array (“PHP”,”C++”,”Java”),
“Database”=>array(“MySQL”,”SQLserver”,”Acces”),
“Aplikasi”=>array(“Ms Excel”,”Ms Word”));
while (list($indeks1, $plunak1)= each($software))
{
print “<u>$indeks1 :</u><br>”;
while(list($indeks2, $plunak2)= each($plunak1))
{
print (“$plunak2″.”<br>”);
}
print (“<br>”);
}
?>
</body>
</html>
Pengulangan dengan foreach
Pengulangan dengan foreach mempermudah pengulangan dalam array.
<html>
<head>
<title>Foreach</title>
</head>
<body>
<?php
$panjang = array(0, 10, 235);
echo “<u> Konversi CM ke Inchi </u><br>”;
foreach($panjang as $cm)
{
$inci = $cm / 2.54;
echo “$cm Centimeter = $inci Inchi.<br>”;
}
?>
</body>
</html>
Pointer Internal Array
Setiap array mempuyai pointer internal yang berguna untuk menunjukan elemensekarang
Fungsi | Keterangan |
current(array)ataupos(array) | Menghasilkan elemen sekarang dalam suatu array |
end(array) | Meletakan pointer internalke elemen terakhir dari suatu array dan nilei elemennya. |
each(array) | Menghasilkan pesangan index dan nilai elemen sekarang dan memajukan pointer internal ke elemen berikutnya. |
key(array) | Menghasilkan key/index dari elemen yang sedang ditunjuk pointer internal pada array asosiatif. |
next(array) | Meletakan pointer internal ke elemen berikutnya dan menghasilkan nilai elemen yang ditunjuk tesebut. |
prev(array) | Meletakan pointer internal ke elemen sebelumnya dan menghasilkan nilai elemen yang ditunjuk tersebut. |
reset(array) | Meletakan pointer internal ke elemen pertama dan menghasilkan nilai elemen tersebut. |
<html>
<head>
<title>Pointer</title>
</head>
<body>
<?php
//Assigment array
$Hari[0] = “Senin”;
$Hari[1] = “Selasa”;
$Hari[2] = “Rabu”;
$Hari[3] = “Kamis”;
$Hari[4] = “Jumat”;
$Hari[5] = “Sabtu”;
$Hari[6] = “Minggu”;
$indeksnya = key($Hari);
$elemennya = current($Hari);
echo “Hasil setelah <b> current </b> <br>”;
echo “Indeks sekarang : $indeksnya <br>”;
echo “Elemennya sekarang : $elemennya <br>”;
$elemennya = end($Hari);
$indeksnya = key($Hari);
echo “Hasil setelah <b> end </b> <br>”;
echo “Indeks sekarang : $indeksnya <br>”;
echo “Elemennya sekarang : $elemennya <br>”;
$elemennya = prev($Hari);
$indeksnya = key($Hari);
echo “Hasil setelah <b> prev </b> <br>”;
echo “Indeks sekarang : $indeksnya <br>”;
echo “Elemennya sekarang : $elemennya <br>”;
$elemennya = reset($Hari);
$indeksnya = key($Hari);
echo “Hasil setelah <b> reset </b> <br>”;
echo “Indeks sekarang : $indeksnya <br>”;
echo “Elemennya sekarang : $elemennya <br>”;
$elemennya = next($Hari);
$indeksnya = key($Hari);
echo “Hasil setelah <b> next </b> <br>”;
echo “Indeks sekarang : $indeksnya <br>”;
echo “Elemennya sekarang : $elemennya <br>”; ?> </body> </html>
Array bersifat Unik
Adakalanya kita membutuhkan array bersifat unik , artinya array tanpa duplikasi elemen.
array_unique() berguna untuk menghilangkan duplikasi elemen array dan menghasikan array yang baru tanpa duplikasi elemen.
<html>
<head>
<title>Unik</title>
</head>
<body>
<?php
//Assigment array
$warna1 =array (“merah”,”hijau”,”kuning”,”merah”,”biru”,”kuning”);
$warna2 = array_unique($warna1);
echo”<b> Array awal</b> <br>”;
foreach ($warna1 as $urutan => $warna )
{
echo”$urutan = $warna <br>”;
}
echo “<br>”;
echo “<b>Setelah array_unique :</b> <br> “;
foreach ($warna2 as $urutan => $warna )
{
echo”$urutan = $warna <br>”;
}
?>
</body>
</html>
Irisan dan Selisih Array
Irisan untuk mengetahui elemen yang sama pada dua buah /lebih array. array_intersect untuk mengetahui elemen yang sama dari 2/lebih array yang diiriskan dengan array pertama.
Selesih digunakan mengetahui elemen yang berbeda dari 2/lebih array. array_diff untuk mengetahui elemen yang tidak sama dari 2/lebih array yang diselisihi dengan array pertama.
<html>
<head>
<title>Intersect</title>
</head>
<body>
<?php
$bil1 = array (1, 2, 3, 4, 5);
$bil2 = array (4, 5, 6, 7, 8);
$bil3 = array_intersect ($bil1, $bil2);
$bil4 = array_diff ($bil1, $bil2);
echo “<b> Array pertama awal </b> <br>”;
print_r ($bil1);
echo “<br>”;
echo “<b> Array kedua awal </b> <br>”;
print_r ($bil2);
echo “<br>”;
echo “<b> Array hasil IRISAN </b> <br>”;
print_r ($bil3);
echo “<br>”;
echo “<b> Array hasil SELISIH </b> <br>”;
print_r ($bil4);
echo “<br>”;
?>
</body>
</html>
Membalikan Urutan Elemen Array
Fungsi array_reverse() akan menghasikan array yang baru dengan urutan terbalik termasuk indexnya, jika kondisi bool-nya TRUE.
Sintak:
array_reverse(array [‘bool preserve_keys])
<html>
<head>
<title>Balik</title>
</head>
<body>
<?php
$Kota[0] = “Jogya”;
$Kota[1] = “Bandung”;
$Kota[2] = “Surabaya”;
$Kota[3] = “Pontianak”;
$Kota[4] = “Jakarta”;
$Kota[5] = “Medan”;
$Kotaku = array_reverse($Kota,TRUE);
print “<b> Elemen awal : </b> “;
print_r ($Kota);
print “<br>”;
print “<b> Elemen setelah reverse : </b> “;
print_r ($Kotaku);
?>
</body>
</html>
Jumlah nilai elemen array
Untuk mengetahui nilai elemen array , dapat digunakan fungsi array_sum().
<html>
<head>
<title>SUM</title>
</head>
<body>
<?php
$bil1 = array(1, 2, 3, 4, 5);
$jumlah = array_sum($bil1);
echo “<b> Elemen Array : </b> <br> “;
print_r ($bil1);
print “<br>”;
echo “<b> Jumlah nilai elemen array : </b> <br> “;
print ($jumlah);
?>
</body>
</html>
Mencari suatu nilai dalam array
Untuk mencari ada tidaknya suatu nilai elemen tertentu dalam array, dapat digunakan fungsi in_array() yang menghasilkan nilai TRUE apabila ditemukan dan FALSE apabila tidak ditemukan.
Sintak:
in_array (nilai_yang_dicari, array[,bool])
<html>
<head>
<title>Cari</title>
</head>
<body>
<?php
$prima = array (3,5, 7, 11, 13, 17, 19, 23, “Pensil” , “tipe-x” );
$cari = 17 ;
$hasil = in_array($cari, $prima);
print “<b> Isi Array </b><br> “;
foreach ($prima as $indeks=>$primaku)
{
print ” $indeks -> $primaku <br> “;
}
print “<br>”;
print “<b>Hasil pencarian </b> <br>”;
if ($hasil ==TRUE):
print (“$cari ADA ditemukan”);
else :
print (“$cari TIDAK ditemukan”);
endif;
print”<br>”;
// Dengan ? :
$cari2 = 20;
printf (“Apakah $cari2 ada di array : ? %s <br>”, in_array ($cari2, $prima) ? “Ya” : “Tidak”);
$cari3 = “Pensil”;
printf (“Apakah $cari3 ada di array : ? %s <br>”, in_array ($cari3, $prima,TRUE) ? “Ya” : “Tidak”);
?>
</body>
</html>