Troubleshooting “Unexpected T_ECHO” pada Operator Ternary
Satu kesalahan yang kerap dijumpai pada penggunaan operator ternary adalah
Unexpected T_ECHO
Pesan kesalahan di atas akan muncul jika pada pernyataan kedua dan ketiga berisi perintah/eksekusi suatu pernyataan. Perhatikan contoh berikut:
<?php $angka = 10; $angka % 2 === 0 ? echo "genap" : echo "ganjil";
Pernyataan 2 dan 3 berisi perintah echo
yang berfungsi mencetak tulisan “genap”/”ganjil” pada browser. Operator ternary tidak sepenuhnya identik dengan pernyataan if/else
. Pada if/else
kita dapat mengeksekusi suatu perintah, seperti yang ditunjukkan pada kode berikut:
<?php $angka = 10; if ($angka % 2 === 0) echo "genap" else echo "ganjil";
Berbeda dengan if/else
, setelah kondisi dievaluasi, operator ternary harus mengembalikan suatu nilai dari pernyataan 2 atau 3. Nilai di sini bisa berupa string
, number
, atau boolean
. Jika masih ingin menggunakan operator ternary, kode di atas harus diubah menjadi sebagai berikut:
<?php $angka = 10; echo $angka % 2 === 0 ? "genap" : "ganjil";