Operator Ternary dan Nilai Boolean
Di blog ini pernah dibahas mengenai operator ternary untuk menyingkat kode. Contohnya ada sepotong kode seperti berikut:
if ($nilai > 90) echo "Keren"; else echo "Lumayan";
Kode di atas dapat ditulis ulang menggunakan operator ternary menjadi seperti berikut:
echo ($var > 90) ? "Keren" : "Lumayan";
Seorang programer berpengalaman pasti lebih suka menggunakan operator ternary bahkan untuk yang melibatkan lebih dari dua buah pernyataan. Namun tidak direkomendasikan untuk para pemula karena bisa membingungkan.
Saya sendiri pernah melakukan hal konyol pada tulisan yang lalu, yaitu penggunaan operator ternary dengan nilai boolean yang tidak semestinya.
$cek = ($var > 5) ? true : false;
Padahal seharusnya cukup ditulis seperti ini:
$cek = $var > 5;
Variable $cek
otomatis bernilai true
jika kondisi $var > 5
terpenuhi. Sebaliknya bernilai false
jika kondisi tidak terpenuhi. Contoh kasus lain penggunaan operator ternary yang tidak semestinya adalah:
$cek = ($var == true) ? 1 : 0;
Secara tidak sadar mungkin kita sering melakukan hal semacam ini dalam pengkodean sehari-hari. Pada contoh di atas juga terdapat kondisi yang tidak perlu dan seharusnya dihilangkan sehingga menjadi seperti berikut:
$cek = $var ? 1 : 0;
Catatan ini juga sebagai koreksi untuk tulisan yang lalu.