SESI 7 - PHP Beginner : Array

September 26, 2018 by

Konsepnya sama seperti array pada javascript. Array yaitu variabel dengan banyak nilai dan bisa berbeda tipe data. Analogi array yaitu seperti berikut:

$arr2 = [ [2,4,1],[3,1,9],[7,4,5] ];
ini adalah array multidimensi artinya di dalam array ada array lagi. Jenis ini adalah array numerik karena ada key-nya yaitu index array yang dimulai dari angka 0. Analoginya yaitu bayangkan jika array yang menyelubungi seluruh 3 elemen array di dalam itu adalah tas, kemudian, di dalam tas tersebut berisi kotak pensil 1 dengan di dalamnya ada nilai 2,4,1. Untuk kotak pensil 2  di dalamnya ada nilai 3,1,9 sedangan kotak pensil 3 di dalamnya ada nilai 7,4,5. Ini gambaran umum dari array.

Membuat array
// Cara lama
$hari = array ("senin","selasa","rabu");
// Cara baru
$bulan = ["Januari","Febuari","Maret"];
$arr1 = [123,"asd",true];

Cara menampilkan array 
Keyword echo tidak bisa untuk menampilkan isi array secara langsung, sebab pasti ada error mengatakan array to string conversion. Keyword var_dump() atau print_r() untuk menampilkan isi array.

var_dump($hari); → tampil seluruhnya yaitu tipe data, nilainya, ukurannyam dan index masing-masing elemen.
Jadi, array adalah pasangan key and value(nilai), key-nya adalah indeks yang dimulai dari 0.

print_r($hari); → tampil key dan value saja, pasangan key(index) dan value(nilai)

Jika ingin menampilkan satu elemen array maka bisa menggunakan keyword echo. misal echo $arr1[0]; => akan muncul di browser 123

+) Cara menambahkan isi array
$hari[] = "Kamis"; => menambah elemen array dan diletakkan setelah elemen terakhir.
var_dump($hari); => cek perubahannya.

+)Cara tampilan isi array untuk user
menggunakan foreach (pengulangan khusus untuk array)
<?php 
$angka = [1,2,3,4,5,6,7,8,9];
?>
<!DOCTYPE html>
<html>
<head>
<title>
</title>
<script></script>
<style>
.kotak{
width:50px;
height:50px;
background-color:salmon;
text-align:center;
line-height:50px;
margin:3px;
float:left;
}
</style>
</head>
<body>
<?php for($i=0;$i<7;$i++):?>
<div class="kotak">
<?= $angka[$i]; ?>
</div>
<?php endfor;?>
</body>
</html>
Jika elemen pada array bertambah maka ditambah fungsi count(); untuk menghitung sendiri jumlah elemen yang ada di dalam array sehingga:
<?php 
$angka = [1,2,3,4,5,6,7,8,9];
?>
<!DOCTYPE html>
<html>
<head>
<title>
</title>
<script></script>
<style>
.kotak{
width:50px;
height:50px;
background-color:salmon;
text-align:center;
line-height:50px;
margin:3px;
float:left;
}
</style>
</head>
<body>
<?php for($i=0;$i<count($angka);$i++):?>
<div class="kotak">
<?= $angka[$i]; ?>
</div>
<?php endfor;?>
</body>
</html>

Menggunakan foreach() untuk tampilan array kepada user
<?php 
$angka = [1,2,3,4,5,6,7,8,9];
?>
<!DOCTYPE html>
<html>
<head>
<title>
</title>
<script></script>
<style>
.kotak{
width:50px;
height:50px;
background-color:salmon;
text-align:center;
line-height:50px;
margin:3px;
float:left;
}
.clear{
clear:both;
}
</style>
</head>
<body>
<?php for($i=0;$i<7;$i++):?>
<div class="kotak">
<?= $angka[$i]; ?>
</div>
<?php endfor;?>
<div class="clear"></div>
<?php foreach($angka as $a):?>
<div class="kotak">
<?= $a; ?>
</div>
<?php endforeach;?>
</body>
</html>
Untuk setiap elemen pada array $angka diwakilkan/direpresentasikan oleh $a. Misal elemen 1 = $a dst.
Seperti ini analoginya $angka = bentuk jamak/banyak sedangkan $a untuk single/satu elemen. Misal foreach($books as $book) artinya yang sebelum keyword as adalah variabel dengan array seluruhnya sedangkan yang setelah keyword as adalah variabel untuk satu per satu array yang akan ditampilkan.

Contoh nyata:
<?php 
$mahasiswa = ["Riventus","121391","Teknik lingkungan","Email1"];
?>
<!DOCTYPE html>
<html>
<head>
<title>
</title>
<script></script>
<style>
</style>
</head>
<body>
<ul>
<?php foreach($mahasiswa as $mhs):?>
<li><?= $mhs; ?></li>
<?php endforeach;?>
</ul>
</body>
</html>

Jika lebih dari satu mahasiswa maka
<?php 
$mahasiswa = [
["Riventus","121391","Teknik lingkungan","Email1"],
["AGAGAGA","13131","Teknik adsada","Email2"],
["AASFA","4314","Teknik adasda","Email3"]
];
?>
<!DOCTYPE html>
<html>
<head>
<title>
</title>
<script></script>
<style>
</style>
</head>
<body>
<?php foreach($mahasiswa as $mhs):?>
<ul>
<li><?= $mhs[0]; ?></li>
<li><?= $mhs[1]; ?></li>
<li><?= $mhs[2]; ?></li>
</ul>
<?php endforeach;?>
</body>
</html>

Jika ditambahkan data mahasiswa lagi maka langsung otomatis di load sesuai data yang di dalam array. Hati-hati teknik seperti ini urutannya tidak boleh salah karena urutan pada tag <li> disesuaikan dengan index array yang diakses, hal ini karena kita tidak bisa memberitahu bahwa data ini namanya apa. Karena array yang dibuat diatas adalah array numerik. Array numerik adalah array yang indeksnya angka. Untuk menghindari kesalahan dalam inputan urutan maka array harus diperbaiki. Caranya mengubah menjadi array associative dimana indexnya bukan lagi angka tetapi string yang dibuat oleh sendiri yang kita asosiasikan ke nilai yang ada di dalam arraynya (index berasosiasi dengan nilainya).

NEXT LEARN ARRAY ASSOCIATIVE

0 comments:

Post a Comment