Terdapat beberapa statemen yang digunakan untuk proses khusus. Lebih detail lagi dalam PHP seperti bahasa C maupun java memiliki beberapa struktur kontrol program. Dengan menggunakan struktur-struktur ini maka jalannya program tidak selalu berurutan sesuai dengan kondisi yang ditemui.
1 Struktur Berurutan
Struktur ini merupakan struktur yang paling sederhana. Program akan dijalankan secara urut dari awal program ke akhir program .
Contoh :
<?php
echo "Statemen 1";
echo "Statemen 2";
echo "Statemen 3";
?>
Disini dikenal istilah blok program , yaitu sebuah potongan program yang diapit oleh tanda { }.
Contoh 1:
If(true) { // awal blok
$kata = "test";
echo "Ini tercetak\n";
echo "Jika kondisi bernilai true";
} // akhir blok
Contoh 2:
<? php
$a=4;
$b=-$a // $b=–3
if ($b<5) {
echo(“Baris ini akan tercetak”);
}
if ($b>5) {
echo(“Baris ini tidak akan tercetak”);
}
$c=5;
$d=6;
if($a=4 && $c=5 && $d=6) {
echo(“Baris ini akan tercetak”); }
?>
Catatan Variable yang dideklarasikan pada suatu blok bersifat lokal di dalam blok tersebut. Blok biasanya digunakan untuk menyatakan bagian pada struktur kontrol lainnya.
2 Struktur Seleksi
Struktur ini digunakan untuk mengatur aliran program berdasarkan kondisi tertentu yang ditetapkan. Struktur ini terdiri dari struktur if … else dan switch. Struktur if … else digunakan untuk masalah percabangan proses.
Sintak :
If(syarat/kondisi){
Operasi yang dijalankan;
} else {
Operasi yang dijalankan;
}
Nilai dari syarat / kondisi adalah true atau false. True jika syarat terpenuhi dan false jika syarat tidak terpenuhi.
Contoh :
<?php
$nilai = 60;
if($nilai >= 50)
echo "Anda Lulus";
else
echo "Anda tidak lulus";
?>
Karena $nilai >= 50 maka kalimat "Anda Lulus" yang akan dicetak.
Untuk seleksi dengan alternatif banyak digunakan struktur switch.
Sintak :
switch(variable) {
case nilai 1 : perintah yang dijalankan ; break;
case nilai 2 : perintah yang dijalankan ; break;
...
default : perintah yang dijalankan ; break;
}
Contoh 1:
<?php
$bulan = 2;
Switch ($bulan) {
Case 1 : echo "Januari"; break;
Case 2 : echo "Februari"; break;
Case 3 : echo "Maret"; break;
Case 4 : echo "April"; break;
Case 5 : echo "Mei"; break;
Case 6 : echo "Juni"; break;
Case 7 : echo "Juli"; break;
Case 8 : echo "Agustus"; break;
Case 9 : echo "September"; break;
Case 10 : echo "Oktober"; break;
Case 11 : echo "November"; break;
Case 12 : echo "Desember"; break;
}
?>
Output :
Februari
Contoh 2:
<?
If($negara=”ca”) {
Echo(“Canada”);
} elseif ($negara=”ind”) {
echo(“Indonesia”);
} elseif ($negara=”br”) {
echo(“Brunei”);
} else {
echo(“Afrika”);
}
?>
dalam contoh diatas, kita membandingkan isi dalam variabel $negara. Untuk membandingkan isi dari sebuah variabel kita bisa menggunakan switch :
<?
Switch($negara) {
Case “ca” :
Echo(“Canada”);
Break;
Case “ind” :
Echo(“Indonesia”);
Break;
Case “br” :
Echo(“Brunei”);
Break;
Default:
Echo(“Afrika”);
}
?>
Dapat dilihat di atas, setiap perintah case selalu ada perintah break, hal itu berfungsi agar setelah mengeksekusi program didalam case, program langsung keluar dari statemen switch tersebut. PHP akan terus mengeksekusi perintah dibawahnya hingga akhir block switch, atau jika ditemui statemen break. Jika anda tidak menuliskan statemen break di akhir setiap statemen case, maka PHP akan terus mengeksekusi statement pada case selanjutnya. Sedangkan pernyataan pada default dieksekusi jika statemen pada case tidak ada yang memenuhi.
Selain switch dapat juga digunakan struktur if … elseif … else :
Sintak :
If ($syarat 1) {
proses 1
}
elseif ($syarat 2) {
proses 2
}
else {
proses 3
}
Contoh :
$hari = 4;
if($hari == 1) echo "Senin";
elseif($hari == 2) echo "Selasa";
elseif($hari == 3) echo "Rabu";
elseif($hari == 4) echo "Kamis";
elseif($hari == 5) echo "Jumat";
elseif($hari == 6) echo "Sabtu";
elseif($hari == 7) echo "Minggu";
else echo "Salah kode hari";
Output :
Kamis