Mengenal dan memahami apa itu if else pada php
Memahami If Else Pada PHP (dan Elseif)
Pada kesempatan kali saya (Andi404) ini kita akan mempelajari dan membahas tentang salah satu control flow yaitu if else pada PHP, pembahasan meliputi statement if, else dan elseif, beserta contoh dan struktur penulisannya.
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.
V. Tips Bermanfaat
Berikut beberapa tips yang saya ketahui tentang penulisan if else pada php:
- Dalam penulisan ekspresi dahulukan ekspresi yang menggunakan dan (&&), karena jika kondisi tersebut bernilai FALSE, maka php tidak mengevaluasi ekspresi berikutnya, disamping akan mempercepat eksekusi kode, juga merupakan kebiasaan yang baik untuk dilakukan. Contoh berikut saya modifikasi dari artikel sebelumnya Membuat Segitiga, Persegi dan Motif dengan PHP For Loop:
<?php if ( $col > $onequarter && ( $col <= $threequarters || $row > $onequarter || $row <= $threequarters ) ) { $char = '<span style="color:#CCC">'.$char.'</span>'; } ?>
pada contoh diatas, jika ekspresi
$col > $onequarter
bernilai FALSE, maka PHP tidak akan mengevaluasi ekspresi lainnya, melainkan langsung melewati statementif
(if
tidak dikerjakan). - Jika menggunakan
elseif
terlalu banyak, pertimbangkanlah untuk menggunakanswitch case
, karena disamping eksekusi kode lebih cepat, logika kode juga lebih mudah dipahami dan perbaikan kode menjadi lebih mudah.
Sekian pembahasan menganai if else pada PHP, semoga bermanfaat.see you next time.
Belum ada Komentar untuk "Mengenal dan memahami apa itu if else pada php"
Posting Komentar