- Published on
Nested Ternary Statement PHP
- Authors
- Name
- Frank
Moving complex php if statements into ternary statement syntax is not always recommended, but I think it can look quite neat and easily readable.
Ternary statements compress your code and using nested ternary statements sparingly in certain situations makes a mess of nested if statements far easier to scan when converted to a nested ternary.
e.g: If you have a matrix of 4 results depending on two boolean results you could represent this as a regular php nested if else statement:
$bTest1 = false;
$bTest2 = false;
if ($bTest1) {
if ($bTest2) {
echo 'test 1 true, test 2 true';
}
else {
echo 'test 1 true, test 2 false';
}
}
else {
if ($bTest2) {
echo 'test 1 false, test 2 true';
}
else {
echo 'test 1 false, test 2 false';
}
}
Or you could use a nested ternary operator syntax:
echo $bTest1
?($bTest2?'test 1 true, test 2 true':'test 1 true, test 2 false')
:($bTest2?'test 1 false, test 2 true':'test 1 false, test 2 false');
Resources:
Ternary Operator Tips