IF Else Pada PHP
I. IF Else Pada PHP
Seperti pada terjemahan harfiah nya, if berarti jika, maka, jika kondisi yang dievaluasi bernilai TRUE, maka blok statement if akan dijalankan, sebaliknya statement ELSE yang akan dijalankan
Jika digambarkan dalam sebuah flow chart, maka alur logika if else pada PHP atau bahasa pemrograman lain adalah sebagai berikut:
II. Struktur Penulisan If Else Pada PHP
Struktur penulisan if else pada php dapat dibagi menjadi 3, yaitu
- Menggunakan kurung kurawa:
if ( ekspresi ) { statement }
- Menggunakan colon:
if ( ekspresi ) statement endif
- Tidak menggunakan keduanya:
if ( ekspresi ) statement
diantara ketiga cara penulisan tersebut, penggunaan kurung kurawa yang paling sering digunakan.
Contoh:
1. Menggunakan Kurung Kurawa (Braces)
if ($nilai > 8) {
echo 'Sangat Baik';
} else {
echo 'Baik';
}
2. Menggunakan Colon
if ($nilai > 8):
echo 'Sangat Baik';
else:
echo 'Baik';
endif;
3. Tanpa Menggunakan Keduanya
if ($nilai > 8)
echo 'Sangat Baik';
else
echo 'Baik';
4. Menggunakan Elseif
// Dengan Braces
if ($nilai >= 9) {
echo 'Sangat Baik';
} else if ($nilai < 9 && $nilai >= 7) {
echo 'Baik';
} else if ($nilai < 7 && $nilai >= 5) {
echo 'Sedang';
} else {
echo 'Kurang';
}
// Dengan Colon
if ($nilai >= 9):
echo 'Sangat Baik';
elseif ($nilai < 9 && $nilai >= 7):
echo 'Baik';
elseif ($nilai < 7 && $nilai >= 5):
echo 'Sedang';
else:
echo 'Kurang';
endif;
Disamping itu juga terdapat cara singkat untuk menuliskannya yaitu menggunakan ternary operator (?:) yang pembahasannya dapat diikuti pada artikel: Penulisan If Else Pada PHP Dengan Ternary Operator ?:
III. Hal Hal Yang Perlu Diperhatikan
1If yang hanya terdiri dari SATU statement dapat ditulis tanpa kurung kurawal maupun colon
Statement If dapat berdiri sendiri, tidak harus digabungkan dengan else atau elseif, dan jika hanya terdiri dari SATU statement, maka dapat ditulis tanpa braces atau colon. Contoh:
$nilai = 7;
if ($nilai > 8)
echo 'Sangat Baik';
echo 'Baik';
Contoh diatas akan menghasilkan kata “Baik”, karena setelah melakukan evaluasi pada ekspresi (
$nilai > 8
) statement if
hanya akan membaca baris echo 'Sangat Baik';
sedangkan baris berikutnya, yaitu: echo 'Baik';
merupakan script PHP biasa, bukan bagian dari statement if
Contoh Lain:
<?php
$nilai = 9;
// Sangat Baik
if ($nilai > 8) echo 'Sangat Baik';
/*
Sangat Baik
Baik
*/
if ($nilai > 8)
echo 'Sangat Baik<br/>';
echo 'Baik';
// Sangat Baik
if ($nilai > 8) { echo 'Sangat Baik'; }
?>
2Elseif atau Else If?
Ketika menulis if else pada PHP, kita bebas menggunakan keyword
elseif
atau else if
(dengan pemisah spasi), TAPI perlu diperhatikan bahwa jika kita menggunakan colon ( :
) maka kita HARUS menggunakan elseif
bukan else if
, jika tidak, maka akan muncul pesan error. Contoh:$nilai = 7;
if ($nilai >= 9):
echo 'Sangat Baik';
elseif ($nilai < 9 && $nilai >= 7):
echo 'Baik';
elseif ($nilai < 7 && $nilai >= 5):
echo 'Sedang';
else:
echo 'Kurang';
endif;
3Keuntungan Menggunakan Colon ( : )
Manfaat penggunaan colon salah satunya adalah ketika kode yang kita tulis panjang hingga di editor perlu di scroll kebawah, maka akan memudahkan kita mengidentifikasi akhir dari statement
if
, karena penutupnya menggunakan endif;
dibanding hanya sekedar kurung tutup ( }
) terlebih jika kode yang kita tulis merupakan kombinasi antara kode HTML dan PHP.
Contoh:
<?php
foreach ($posts as $post):
if ($post['id'] == 2):?>
<h1 class="post-title"><?=$post['title']?></h1>
<p class="post-content"><?=$post['content']?></p>
<div class="comments-container">
<ul>
<?php
foreach ($comment[$post['id']] as $comment):
if ($comment['publish'] == 3)
continue;
?>
<li>
<p class="comment-title"><?=$comment['title']?></p>
<p class="comment-content"><?$comment['content']?></p>
</li>
<?php
endforeach?>
</ul>
</div>
<?php
endif;
endforeach;
4Apakah bracess dan colon dapat digabungkan?
Ketika menulis statement if else pada php, salah satu yang perlu diperhatikan adalah bahwa kita tidak dapat menggabungkan kurung kurawal dan colon dalam SATU statement
if
, sekali menggunakan colon harus diselesaikan dengan kolon, begitu sebaliknya dengan kurung kurawal. contoh:<?php
$nilai = 9;
$perilaku = 8
// Error
if ($nilai >= 9) :
echo 'Sangat Baik';
else {
echo 'Sedang';
}
// Benar
if ($nilai >= 9) :
if ($perilaku >= 9) {
echo 'Sangat Baik';
} else {
echo 'Baik';
}
else :
echo 'Sedang';
endif;
?>
IV. Standar Penulisan
Standar penulisan if else pada php seperti yang direkomendassikan oleh FIG (Framework Interoperability Group) dalam PSR-2 (PHP Standar Recomendation) adalah:
<?php
if ($expr1) {
// if body
} elseif ($expr2) {
// elseif body
} else {
// else body;
}
Contoh:
if ($a != 2 && $a > 0) {
$a = 2;
} else {
$a = 7;
}
Penjelasan:
- Gunakan
elseif
bukanelse if
- Gunakan kurung kurawal (braces) bukan titik dua (colon)
- Statement ditulis TEPAT satu baris dibawah ekspresi
- Perhatikan penggunaan spasi, terutama pada penulisan ekspresi, pisahkan variabel, operator pembanding, dan value dengan spasi, misal
($a != 2 && $a > 0)
, hal ini ditujukan agar kode lebih mudah dibaca.
Rekomendasi ini sebaiknya diterapkan, namun jika diperlukan silakan gunakan sesuai kebutuhan misal untuk penggunaan colon, selain itu beberapa developer lebih suka menggunakan pola seperti ini:
<?php
if ($expr1)
{
// if body
}
elseif ($expr2)
{
// elseif body
}
else
{
// else body;
}
kurung buka ditulis satu baris dibawah keyword dan statement ditulis dua baris dibawah keyword, hal ini akan lebih memperjelas pemisah antar keyword dan statement terutama jika kode yang kita tulis kompleks.
Komentar
Posting Komentar