>/D_
Published on

Nested Ternary Statement PHP

Authors
  • avatar
    Name
    Frank
    Twitter

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