PENYATAAN DAN GELUNG
Pengenalan
Penyataan keadaan dan gelung memberikan aturcara keupayaan asas untuk membuat keputusan
bagi menyelesaikan sesuatu tugasan.
Penyataan keadaan..membolehkan kita menspesifikasikan kod yang mana satu perlu
dijalankan hanya apabila syarat sesuatu keadaan itu dipenuhi.
PHP penyataan if...elseif...else, yang membenarkan kita menguji beberapa expressi dan menjalankan aturacara mengikut nilai data.
Penyataan "if"
Penyataan ini membenarkan sesuatu baris kod dilaksanakan hanya apabila syarat keadaan
yang ditetapkan adalah "benar".
e.g. if ($i==0) echo ("Sifar"); // memaparkan nilai data sifar hanya jika $i adalah 0
Jika terdapat lebih daripada satu penyataan yang akan dilaksanakan apabila syarat
keadaan adalah "benar", tanda "{ }" digunakan untuk menunjukkan baris yang mana
dilingkupi oleh blok "if":
e.g. if ($negeri == "ke"){
echo ("Kedah");
echo ("Padi");
}
Kod di atas akan memaparkan "Kedah" "Padi" hanya jika nilai rentetan $negeri sama dengan
"ke".
Penyataan bercabang
Jika syarat keadaan yang diuji memulangkan nilai "tidak benar", PHP membenarkan kita
menspesifikasi kod blok yang lain dengan menggunakan kata kunci "else" dan "elseif".
Blok kod tambahan ini dikenali sebagai cabang. Setiap cabang ini mesti diletakkan dalam
"{ }" jika terdapat lebih daripada satu barisan kod:
e.g.if ($i<0){
echo ("negatif");
}else {
echo ("positif");
}
Kod di atas menguji nilai $i dan memaparkan "negatif" hanya jika nilai $i kurang
daripada 0; selain daripada itu adalah "positif" .
Kata kunci "elseif" digunakan untuk menguji keadaan alternatif jika syarat keadaan dalam
bahagian penyataan "if" memulangkan nilai "tidak benar". Penyataan "elseif" boleh
digunakan sebanyak mana yang diperlukan bersama penyataan "if".
Pada bahagian akhir cabang penyataan "else" digunakan untuk menspesifikasi kod yang
perlu dilaksanakan jika semua syarat keadaan "if" dan "elseif" adalah "tidak benar".
e.g.if ($i<0){
echo ("negatif");
}elseif ($i==0) {
echo ("sifar");
}else {
echo ("positif");
}
PHP juga menawarkan syntax alternatif kepada penyataan "if": if:...endif;
e.g if ($negeri == "ke"):
echo ("Kedah");
elseif ($negeri == "pe"):
echo ("Perak");
elseif ($negeri == "se"):
echo ("Selangor");
elseif ($negeri == "jo"):
echo ("Johor");
else: // mesti "my"
echo ("Malaysia");
endif;
Perhatikan kod di atas, tanda "{ }" tidak digunakan dan keadaan ujian diikuti oleh tanda
":". Penyataan "endif" pada baris terakhir digunakan untuk menandakan penghujung blok
penyataan "if" menggantikan tanda penutup "}".
Penyataan syntax alternatif ini berguna jika kita ingin menggelung kod blok HTML,
JavaScript, ataupun CSS dalam penyataan "if" PHP.
e.g. php if ($negeri == "ke"): ?>
<table>
<caption>Kedah</caption>
<tr>
.....
.....
</tr>
</table>
php elseif ($negeri == "se"): ?>
<table>
<caption>Selangor</caption>
<tr>
.....
.....
</tr>
</table>
php endif; ?>
Kod di atas akan memaparkan jadual Kedah hanya jika $negeri adalah "ke" dan jadual
Selangor hanya jika $negeri adalah "se".
Penyataan "Switch"
Penyataan "switch" digunakan apabila satu pembolehubah diuji dengan pelbagai nilai:
e.g. switch ($negeri) {
case "ke":
echo ("Kedah");
break;
case "pe":
echo ("Perak"):
break;
case "se":
echo ("Selangor");
break;
case "jo":
echo ("Johor");
break;
default: // mesti "My"
echo ("Malaysia");
}
Penyataan "switch" mempertimbangkan nilai pembolehubah $negeri dan membandingkannya
dengan syarat yang terdapat pada baris "case ... :"
Apabila nilai yang berpadanan ditemui, penyataan yang berkaitan dengan baris "case"
dilaksanakan sehingga ke baris yang mengandungi penyataan "break" ditemui.
Penyataan "break" digunakan untuk menghentikan perlaksanaan penyataan "switch" apabila
barisan kod "case" yang berkaitan dilaksanakan. Jika nilai pembolehubah $negeri adalah
"ke", maka hanya "Kedah" akan dipaparkan.
Jika tiada nilai yang berpadanan ditemui, penyataan "default" dilaksanakan.
Gelung
Dalam pengaturcaran, gelung bermaksud melaksanakan blok kod beberapa kali, atau sehingga
syarat keadaan ujian dipenuhi.
Dalam PHP, terdapat dua jenis gelung:
a. gelung "while"
- gelung "while" menguji syarat keadaan sebelum atau selepas setiap lelaran dan
akan mengulangi gelung hanya jika keadaan ujian adalah "benar".
b. gelung "for"
- dalam kes gelung "for", bilangan lelaran ditentukan terlebih dahulu sebelum
gelung pertama dilaksanakan.
Gelung "while"
Gelung "while" mempertimbangkan syarat keadaan menggunakan ekspressi Boolean pada
permulaan setiap lelaran.
Jika ekspressi Boolean adalah "tidak benar", kod di dalam "{ }" akan dilangkau.
Jika ekspressi Boolean adalah "benar", kod di dalam "{ }" akan dilaksanakan.
Apabila tanda "}" ditemui, PHP akan mempertimbangkan semula keadaan ujian.
Jika nilai "benar" dipulangkan, kod dalam "{ }" dilaksanakan sekali lagi.
Keadaan ini berturusan hingga syarat ujian memulangkan nilai "tidak benar".
e.g. $i=0;
//memaparkan nombor 0 hingga 10
while ($i<=10){
echo ("$i<br>n");
++$i
}
--->Gelung "do...while"
Gelung ini hampir menyerupai gelung "while" kecuali keadaan ujian diuji pada pengakhiran
setiap lelaran.
e.g.$i=0;
do {
echo ("Hai!");
++$i;
}while ($i<=10);
Operator penambahan dan pengurangan sering digunakan untuk mengawal masa mula dan
berhenti gelung "while" dan "do...while". Pembolehubah yang digunakan kadang kala
dikenali sebagai pembolehubah pengawal gelung.
Gelung "while" dan "do...while" biasanya digunakan untuk membaca data dari pangkalan
data(database query), baris dari suatu kolum, ataupun elemen dalam tatasusunan.
Gelung "for"
Penyataan untuk gelung "for" memerlukan tiga jenis ekspresi dalam "( )" yang dipisahkan
oleh tanda ";".
Ekspresi pertama adalah untuk memulakan pembolehubah kawalan gelung. Ia dilaksanakan
hanya sekali sebelum lelaran pertama gelung.
Ekspresi kedua adalah ekspresi Boolean digunakan untuk menguji syarat keadaan pada
pemulaan setiap lelaran gelung. Jika expresi "benar", lelaran gelung diteruskan. Jika
"tidak benar", gelung ditamatkan.
Ekspresi ketiga dilaksanakan pada penghujung setiap lelaran gelung. Ia biasanya
digunakan untuk menambah atau mengurangkan nilai pembolehubah kawalan gelung.
e.g. for ($i=0;$i<=10;++$i) {
echo ("$i");// paparkan nilai 0 hingga 10
}
Jika ekspresi Boolean tidak diisi, PHP mengganggapnya sebagai "benar". Ini akan
mengakibatkan lelaran gelung tidak terhinggga jika penyataan "break", "return", atau
"exit" tidak digunakan.
e.g. for ( ; ; ;) {
echo ("$i");// paparkan nilai 0 hingga 10
}
Seperti juga penyataan sebelum ini, PHP juga memberi syntak alternatif kepada penyataan
"for":
e.g. php for($i=0;$i<=5;$i++): ?>
<tr><td><input type=text ></td></tr>
php endfor; ?>
Memasukkan file ke dalam PHP pages
PHP menyediakan penyataan "require" dan "include" yang keduanya berfungsi membaca dan
melaksanakan kod PHP daripada fail yang dispesifikasikan.
Ini membolehkan kita menulis kod PHP dan menyimpannya dalam satu fail dan memanggilnya
apabila diperlukan dalam script PHP yang lain.
Penyataan "require" akan digantikan oleh kandungan dalam fail yang telah
dispesifikasikan. Ia digunakan jika kita ingin memanggil kod yang telah kita tulis ke
dalam script PHP yang lain.
e.g. //kod PHP yang ditulis dalam script "umum.php"
php
define ("company", "Anip Chin Corporation");
define ("NL", "<br>n");
?>
//ingin fungsi dalam "umum.php" digunapakai
//dalam script ini
require ("umum.php");
echo (company . NL);
Walaubagaimana pun penyataan "require()" ini tidak dapat digunakan dalam gelung untuk
memanggil fail yang berlainan dalam setiap lelaran gelung.
Oleh itu, penyataan "include" digunakan untuk tujuan seperti di atas. Penyataan
"include" menguji dan melaksanakan kod di dalam fail luaran setiap kali penyataan ini
ditemui.
e.g. for($i=0;$i<=3;$i++) {
include("file" . $i . "php");
}
Kedua-dua penyataan "require()" dan "include()" menganggapkan fail luaran sebagai fail
HTML, maka kandungan dalam fail luaran dilayan sebagai fail HTML bukan fail PHP kecuali
jika keluar dari tag HTML seperti dalam fail umum.php dengan menggunakan tag "php
...?>.
Perlu diingatkan, PHP mencari fail ini dalam directory yang telah dispesifikasikan dalam
"include_path" dalam fail php.ini. Jika fail ini terdapat dalam directory lain, full
path and filename must be spesified.
Keluar dari fail PHP
Jika masalah besar berlaku seperti tidak dapat menghubungi pangkalan data, adalah
mustahil untuk melaksanakan keseluruhan kod PHP dalam script. Kita mungkin ingin
memaparkan "error messagge", berhenti dan keluar dari script PHP. Untuk itu kita hanya
perlu memasukkan penyataan "exit". Sebarang kod yang muncul selepas penyataan "exit"
tidak akan dipaparkan dalam dokumen.
e.g. if (my_function ($i) == "error") {
echo ("<br><br> An error was encountered.</br></br>n .
"Cannot finish loading document.<br>n");
exit;
}