...

Mengambil isi array:

by user

on
Category: Documents
0

views

Report

Comments

Transcript

Mengambil isi array:
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
<HTML>
<HEAD>
<TITLE>Contoh Array</TITLE>
</HEAD>
<BODY>
<?php
$kota = array ("Yogya", "Solo", "Bandung", "Bogor");
for($i=0; $i<4; $i++)
print("Elemen berindeks $i: $kota[$i] <BR>");
?>
</BODY>
</HTML>
Mengetahui jumlah elemen array: dengan fungsi count
printf("Jumlah elemen = %d", count($kota));
Indeks array bisa berbentuk string.
$hari["Sunday"]
= "Minggu";
skrip hari.php
<HTML>
<HEAD>
<TITLE>Menentukan Nama Hari Memakai Array</TITLE>
</HEAD>
<BODY>
<?php
$hari = array("Sunday" => "Minggu",
"Monday" => "Senin",
"Tuesday" => "Selasa",
"Wednesday" => "Rabu",
"Thursday"=> "Kamis",
"Friday" => "Jumat",
"Saturday" => "Sabtu");
$hari_inggris = date("l");
print("Hari ini hari $hari[$hari_inggris]");
?>
</BODY>
</HTML>
Data dalam array bisa berbeda tipe dan indeks berbeda tipe
skrip aneka.php
<HTML>
<HEAD>
<TITLE>Array dengan
</HEAD>
<BODY>
<?php
$serbaguna[0] =
$serbaguna[1] =
$serbaguna["A"]
$serbaguna["B"]
Indeks dan Data Berlainan Tipe</TITLE>
50;
"ABC";
= 70;
= "Bagus";
print($serbaguna[0]);
print($serbaguna[1]);
print($serbaguna["A"]);
print($serbaguna["B"]);
?>
</BODY>
</HTML>
Hasil:
50
ABC
70
Bagus
print("<BR>\n");
print("<BR>\n");
print("<BR>\n");
print("<BR>\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
<HTML>
<HEAD>
<TITLE>Contoh Array</TITLE>
</HEAD>
<BODY>
<?php
$kota[0] = "yogya";
$kota[1] = "Solo";
$kota[2] = "Semarang";
$kota[3] = "Bandung";
for($indeks = 0; $indeks < 4; $indeks++)
printf("%s <BR>", $kota[$indeks]);
print("<HR>");
printf("Jumlah elemen = %d <BR>", count($kota));
// contoh current
print("<BR><B>pemanggilan current</B> <BR>");
$isi = current($kota);
print("elemen sekarang = $isi <BR>");
// contoh each
$data = each($kota);
$indeks = $data[0];
$isi = $data[1];
print("<BR><B>pemanggilan each</B> <BR>");
print("indeks = $indeks <BR>");
print("elemen = $isi <BR>");
print("key
= $data[key] <BR>");
print("value = $data[value] <BR>");
print("<BR><B>pemanggilan current</B> <BR>");
$isi = current($kota);
print("elemen sekarang = $isi <BR>");
print("<BR><B>pemanggilan end</B> <BR>");
$isi = end($kota);
print("elemen sekarang = $isi <BR>");
print("<BR><B>pemanggilan prev</B> <BR>");
$isi = prev($kota);
print("elemen sekarang = $isi <BR>");
print("<BR><B>pemanggilan key dan pos</B> <BR>");
$indeks = key($kota);
$isi = pos($kota);
print("indeks sekarang = $indeks <BR>");
print("elemen sekarang = $isi <BR>");
print("<BR><B>pemanggilan reset</B> <BR>");
$isi = reset($kota);
print("elemen sekarang = $isi <BR>");
print("<BR><B>pemanggilan next</B> <BR>");
$isi = next($kota);
print("elemen sekarang = $isi <BR>");
print("<BR><B>pemanggilan each utk menampilkan semua</B> <BR>");
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 <BR>");
}
?>
</BODY>
</HTML>
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
<HTML>
<HEAD>
<TITLE>Array Berdimensi Dua</TITLE>
</HEAD>
<BODY>
<?php
// Membuat array berdimensi dua
$peserta = array
("PHP"
=> 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 : <BR>\n");
while ( list($indeks2, $nilai2) = each($nilai1) )
{
printf("%d. %s <BR>", $indeks2+1, $nilai2);
}
}
?>
</BODY>
</HTML>
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
<HTML>
<HEAD>
<TITLE>Pengurutan Data</TITLE>
</HEAD>
<BODY>
<?php
// Data array
$buah1["A"]
$buah1["E"]
$buah1["C"]
$buah1["F"]
=
=
=
=
"Nanas";
"Pepaya";
"Mangga";
"Apel";
print("Data Asli : ");
while ( list($indeks, $nilai) = each($buah1) )
{
print("[$indeks] -> $nilai ");
}
print("<BR>\n");
// Pengurutan dengan asort
$buah2 = $buah1;
asort($buah2);
print("Hasil asort : ");
while ( list($indeks, $nilai) = each($buah2) )
{
print("[$indeks] -> $nilai ");
}
print("<BR>\n");
// Pengurutan dengan arsort
$buah2 = $buah1;
arsort($buah2);
print("Hasil arsort : ");
while ( list($indeks, $nilai) = each($buah2) )
{
print("[$indeks] -> $nilai ");
}
print("<BR>\n");
// Pengurutan dengan krsort
$buah2 = $buah1;
krsort($buah2);
print("Hasil krsort : ");
while ( list($indeks, $nilai) = each($buah2) )
{
print("[$indeks] -> $nilai ");
}
print("<BR>\n");
// Pengurutan dengan rsort
$buah2 = $buah1;
rsort($buah2);
print("Hasil rsort : ");
while ( list($indeks, $nilai) = each($buah2) )
{
print("[$indeks] -> $nilai ");
}
print("<BR>\n");
// Pengurutan dengan sort
$buah2 = $buah1;
sort($buah2);
print("Hasil sort : ");
while ( list($indeks, $nilai) = each($buah2) )
{
print("[$indeks] -> $nilai ");
}
print("<BR>\n");
// Pengurutan dengan ksort
$buah2 = $buah1;
ksort($buah2);
print("Hasil ksort : ");
while ( list($indeks, $nilai) = each($buah2) )
{
print("[$indeks] -> $nilai ");
}
print("<BR>\n");
?>
</BODY>
</HTML>
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
<HTML>
<HEAD>
<TITLE>Pengurutan Data Secara Alamiah</TITLE>
</HEAD>
<BODY>
<?php
// Data array
$buah1[0]
$buah1[1]
$buah1[2]
$buah1[3]
=
=
=
=
"11 Nanas";
"1 Nanas";
"2 Nanas";
"12 Nanas";
print("Data Asli : <BR>\n");
while ( list($indeks, $nilai) = each($buah1) )
{
print("$nilai <BR>\n");
}
print("<BR>\n");
// Pengurutan dengan sort
$buah2 = $buah1;
sort($buah2);
print("Hasil sort : <BR>\n");
while ( list($indeks, $nilai) = each($buah2) )
{
print("$nilai <BR>\n");
}
print("<BR>\n");
// Pengurutan dengan natsort
$buah2 = $buah1;
natsort($buah2);
print("Hasil natsort : <BR>\n");
while ( list($indeks, $nilai) = each($buah2) )
{
print("$nilai <BR>\n");
}
print("<BR>\n");
?>
</BODY>
</HTML>
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
<HTML>
<HEAD>
<TITLE>Pengurutan Data Secara Alamiah</TITLE>
</HEAD>
<BODY>
<?php
// Data array semula
$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 : <BR>\n");
while ( list($indeks, $nilai) = each($tumpukan) )
{
print("$nilai ");
}
print("<BR>\n");
print("Jumlah elemen = $jum <BR>\n");
// Hapus elemen terakhir
$nilai = array_pop($tumpukan);
print("Data yang dihapus: $nilai<BR>\n");
// Tambah dua buah elemen di awal array
$jum = array_unshift($tumpukan, "X", "Z");
print("Hasil setelah array_unshift : <BR>\n");
while ( list($indeks, $nilai) = each($tumpukan) )
{
print("$nilai ");
}
print("<BR>\n");
print("Jumlah elemen = $jum <BR>\n");
// Hapus elemen pertama
$nilai = array_shift($tumpukan);
print("Data yang dihapus: $nilai<BR>\n");
// Tampilkan isi array
print("Isi tumpukan sekarang : <BR>\n");
while ( list($indeks, $nilai) = each($tumpukan) )
{
print("$nilai ");
}
print("<BR>\n");
?>
</BODY>
</HTML>
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 <BR>\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 <BR>\n");
Fly UP