Cara menggunakan nested if pada php

jika

if ( ekspresi1 ) { 
	$var = ekspresi2 
} else { 
	$var = ekspresi3 
}
4 bernilai TRUE maka nilai yang dihasilkan adalah
if ( ekspresi1 ) { 
	$var = ekspresi2 
} else { 
	$var = ekspresi3 
}
5, sebaliknya  jika
if ( ekspresi1 ) { 
	$var = ekspresi2 
} else { 
	$var = ekspresi3 
}
4 bernilai FALSE, maka nilai yang dihasilkan adalah
if ( ekspresi1 ) { 
	$var = ekspresi2 
} else { 
	$var = ekspresi3 
}
7.
if ( ekspresi1 ) { 
	$var = ekspresi2 
} else { 
	$var = ekspresi3 
}
4,
if ( ekspresi1 ) { 
	$var = ekspresi2 
} else { 
	$var = ekspresi3 
}
5 dan
if ( ekspresi1 ) { 
	$var = ekspresi2 
} else { 
	$var = ekspresi3 
}
7 bisa berisi apa saja, termasuk fungsi.

Jika dituliskan dengan format if else secara umum, maka bentuknya sama seperti ini:

if ( ekspresi1 ) { 
	$var = ekspresi2 
} else { 
	$var = ekspresi3 
}

Berikut ini contoh penggunaan ternary operator:

$nilai = 9;
echo $nilai > 8 ? 'Sangat Baik' : 'Baik'; // Sangat Baik

Contoh tersebut diatas jika ditulis dalam struktur if else biasa akan seperti ini:

$nilai = 9;
if ($nilai > 8) {
	echo 'Sangat Baik';
} else {
	echo 'Baik';
}

Dari contoh diatas terlihat bahwa penulisan menggunakan ternary operator jauh lebih ringkas.

II. Cara Lain Penulisan Ternary Operator

Sejak PHP 5.3, penulisan ternary operator bisa dipersingkat lagi,

if ( ekspresi1 ) { 
	$var = ekspresi2 
} else { 
	$var = ekspresi3 
}
5 bisa untuk tidak dituliskan, sehingga bentuk penulisannya menjadi:

$var = ekspresi1 ?: ekspresi3

pada contoh diatas, jika

$nilai = 9;
echo $nilai > 8 ? 'Sangat Baik' : 'Baik'; // Sangat Baik
2 bernilai TRUE makan nilai yang dihasilkan adalah
if ( ekspresi1 ) { 
	$var = ekspresi2 
} else { 
	$var = ekspresi3 
}
4, sebaliknya jika FALSE, maka nilai yang dihasilkan adalah
if ( ekspresi1 ) { 
	$var = ekspresi2 
} else { 
	$var = ekspresi3 
}
7. Jika ditulis dalam if else bentuk umum, bentuknya menjadi:

if ( ekspresi1 )
{
	$var = ekspresi1;
} else {
	$var = ekspresi3;
}

Berikut contoh penulisan lain ternary operator:

$nilai = '';
echo $nilai ?: 9; // 9

III. Penggabungan dengan string

Jika ternary operator digabungkan dengan string, maka harus menggunakan tanda kurung, sehingga PHP akan membacanya sebagai statement tersendiri, jika tidak, maka akan menghasilkan pesan error. contoh:

//ERROR: Parse error: parse error, unexpected ':' 
$option ='<option value="1" '.$status == "1" ? 'selected="selected"' :''.'>Januari</option>';
//Benar:
$option ='<option value="1" '.($status == "1" ? 'selected="selected"' :'').'>Januari</option>';

Error ini disebabkan karena PHP membaca karakter setelah dot (.) sebagai string, karena memang dot digunakan sebagai penghubung string, dengan memberikan tanda kurung, maka tanda kurung tersebut akan dieksekusi terlebih dahulu (dan menghasilkan string) sebelum tanda dot dieksekusi.

IV. Nested If Else

Cara Penulisan If Else Pada PHP dengan menggunakan ternary operator dapat ditulis dengan level kedalaman yang tidak terbatas,

$nilai = 9;
echo $nilai > 8 ? 'Sangat Baik' : 'Baik'; // Sangat Baik
5 di dalam
$nilai = 9;
echo $nilai > 8 ? 'Sangat Baik' : 'Baik'; // Sangat Baik
5 (nested
$nilai = 9;
echo $nilai > 8 ? 'Sangat Baik' : 'Baik'; // Sangat Baik
5), adapun format penulisannya adalah:

ekspresi1 ? ekspresi2 : (ekspresi3 ? ekspresi4 : (dst..))

contoh penggunaannya:

$nilai = 6;
$predikat = $nilai > 8 ? 'Sangat Baik' : ( $nilai >= 7 && $nilai <= 8 ? 'Baik' : ($nilai <= 6 && $nilai > 5 ? 'Sedang' : 'Kurang') );
echo $predikat; // Sedang
?>

Kode diatas akan sedikit membingungkan dan lebih sulit diperbaiki jika terjadi kesalahan, karena terdapat tiga

$nilai = 9;
echo $nilai > 8 ? 'Sangat Baik' : 'Baik'; // Sangat Baik
5 dalam satu baris kode, idealnya MAKSIMAL dua, menurut saya, jika lebih dari dua lebih baik ditulis menggunakan format seperti biasanya, namun jika ingin tetap menggunakannya gunakan format yang mudah dibaca, sehingga kode diatas dapat ditulis ulang menjadi:

if ( ekspresi1 ) { 
	$var = ekspresi2 
} else { 
	$var = ekspresi3 
}
0

Jika dibuat dalam bentuk if else biasa, maka bentuknya menjadi:

if ( ekspresi1 ) { 
	$var = ekspresi2 
} else { 
	$var = ekspresi3 
}
1

IV. Keuntungan Menggunakan Ternary Operator (?:)

Beberapa keuntungan penulisan if else pada PHP dengan ternary operator adalah:

  1. Penulisan
    $nilai = 9;
    echo $nilai > 8 ? 'Sangat Baik' : 'Baik'; // Sangat Baik
    5 menjadi lebih cepat dan singkat karena tidak perlu menuliskan keyword if dan else;
  2. Kode menjadi lebih mudah dibaca, terutama ketika kode yang kita tulis inline (satu baris), selain itu lebih mudah digabungkan dengan string, dll
  3. Perbaikan kode menjadi lebih mudah.

V. Tips Menggunakan Ternary Operator (?:)

Berikut ini beberapa tips penggunaan ternary operator:

  1. Seperti pada contoh sebelumnya, untuk kode yang cukup panjang, jika memungkinkan buat beberapa baris kode, agar lebih mudah dibaca dan diperbaiki.
  2. Gunakan tanda kurung yang cukup namun tidak berlebihan agar kode lebih terorganisir.
  3. Jika belum terbiasa menggunakan model ternary, tulis kode dalam bentuk standar kemudian terjemahkan ke dalam bentuk ternary operator.

VI. Contoh Penggunaan Ternary Operator (?:)

if ( ekspresi1 ) { 
	$var = ekspresi2 
} else { 
	$var = ekspresi3 
}
2
if ( ekspresi1 ) { 
	$var = ekspresi2 
} else { 
	$var = ekspresi3 
}
3

Demikian pembahasan mengenai cara penulisan If Else pada PHP dengan ternary operator (?:), semoga bermanfaat.

Subscibe Now

Suka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com

Komitmen Kami: Kami senantiasa menghargai privasi Anda dan tidak akan membagikan identitas Anda ke pihak manapun.