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";

About Sibudi

Ubuntu user | Loves books | Blogger | Web Developer | Learn PHP, JavaScript, Ruby & Python the hard way

24. February 2012 by Sibudi
Categories: Troubleshooting | Tags: , | Leave a comment

Leave a Reply

Required fields are marked *