Apa itu Array ?
Array dalam PHP adalah jenis struktur data yang memungkinkan kita untuk menyimpan beberapa elemen dari tipe data yang sama di bawah satu variabel tunggal. Sehingga menghemat upaya kita menciptakan variabel yang berbeda untuk setiap data.
Array dibuat menggunakan array () function dalam PHP. Pada PHP ada 3 jenis array yaitu :
- Indexed atau Numeric array : Suatu array dengan index numeric dimana value atau nilainya disimpan secara liniear.
- Associative Array : Suatu array dengan index string dimana value nya tidak disimpan secara linear, melainkan dengan memberikan key tertentu.
- Multidimensional Array : Array yang berisi array tunggal atau banyak di dalamnya dan dapat diakses melalui beberapa indeks.
Indexed / Numeric Array
Jenis array ini dapat digunakan untuk menyimpan semua jenis elemen, tetapi indeks nya harus berupa angka.
Secara default, indeks dimulai dari nol. Array ini dapat dibuat dengan dua cara berbeda seperti yang ditunjukkan pada contoh berikut:
<?php
// Cara pertama membuat Indexed Array
$name_one = array(“Adi”, “Ani”, “Ali”, “Andi”, “Angga”);
// Menampilkan outputnya
echo “Daftar nama pegawai:\n”;
echo $name_one[2], “\n”;
echo $name_one[0], “\n”;
echo $name_one[4], “\n”;
// Cara kedua membuat indexed array
$name_two[0] = “Adi”;
$name_two[1] = “Ani”;
$name_two[2] = “Ali”;
$name_two[3] = “Andi”;
$name_two[4] = “Angga”;
// Menampilkan Outputnya
echo “Daftar nama pegawai:\n”;
echo $name_two[2], “\n”;
echo $name_two[0], “\n”;
echo $name_two[4], “\n”;
?>
Maka Outputnya akan terlihat seperti ini :
Daftar nama pegawai :
Ali
Adi
Angga
Daftar nama pegawai :
Ali
Adi
Angga
Membuat Indexed Array Melalui Loop
Kita juga bisa membuat indexed array melalui loop. Yaitu dengan loop For dan Foreach. Berikut ini adalah contohnya :
<?php
// Membuat indexed array
$name_one = array(“Alpha”, “Bravo”, “Charlie”, “Delta”, “Echo”);
// Indexed array melalui loop Foreach
echo “Loop menggunakan foreach: \n”;
foreach ($name_one as $val){
echo $val. “\n”;
}
// count() function digunakan untuk menghitung jumlah
// element yang ada pada array
$round = count($name_one);
echo “\njumlah element yang ada yaitu $round \n”;
// Indexed array melalui loop for
echo “Loop menggunakan for: \n”;
for($n = 0; $n < $round; $n++){
echo $name_one[$n], “\n”;
}
?>
Berikut ini adalah Outputnya :
Indexed array melalui loop foreach:
Alpha
Bravo
Charlie
Delta
Echi
Jumlah element yang ada yaitu 5
Indexed array melalui loop for:
Alpha
Bravo
Charlie
Delta
Echo
Associative Array
Jenis array ini mirip dengan Indexed array tetapi tidak disimpan secara linear, setiap nilai dapat ditetapkan dengan key tipe string yang ditentukan oleh pengguna.
Contoh Sintaks :
<?php
// cara ke 1 membuat associative array
$name_one = array(“Zack”=>”Zara”, “Anthony”=>”Any”,
“Ram”=>”Rani”, “Salim”=>”Sara”,
“Raghav”=>”Ravina”);
// cara ke 2 membuat associative array
$name_two[“zack”] = “zara”;
$name_two[“anthony”] = “any”;
$name_two[“ram”] = “rani”;
$name_two[“salim”] = “sara”;
$name_two[“raghav”] = “ravina”;
// menampilkan output associative array
echo “Output associative array:\n”;
echo $name_two[“zack”], “\n”;
echo $name_two[“salim”], “\n”;
echo $name_two[“anthony”], “\n”;
echo $name_one[“Ram”], “\n”;
echo $name_one[“Raghav”], “\n”;
?>
Maka outputnya akan seperti ini :
Output associative array:
zara
sara
any
Rani
Ravina
Multi-Dimensional Array
Multi-dimensional Array adalah array yang menyimpan array lain pada setiap indeks, bukan elemen tunggal.
Contoh Sintaks :
<?php
// membuat multidimensional array
$favorites = array(
array(
“name” => “Mark Zuckenberg”,
“mob” => “5689741523”,
“email” => “markzuckenber@gmail.com”,
),
array(
“name” => “Bill Gates”,
“mob” => “2584369721”,
“email” => “billgates@gmail.com”,
),
array(
“name” => “Barrack Obama”,
“mob” => “9875147536”,
“email” => “barrackobama@gmail.com”,
)
);
// menampilkan outputnya
echo “Email Mark Zuckenberg adalah: ” . $favorites[0][“email”], “\n”;
echo “Nomor telepon Barrack Obama adalah: ” . $favorites[2][“mob”];
?>
Maka Outputnya akan seperti ini :
Mark Zuckenberg
mob : 2584369721
email : mark zuckenberg@gmail.com
Barrack Obama
mob : 9875147536
email : barrackobama@gmail.com