0 votes
in General by
How can I write a conditional statement like this?

$admin = ($user['permissions'] == 'admin') ? true;

Please note that there is no else statement. Is it possible to write this without else?

2 Answers

0 votes
No... ternary means three parts you need the condition, the true part, and the false part

You cannot build a ternary operator with only one expected result. Its simple Boolean logic, it just returns two values.

I would suggest you just stick with the first if/else statement you have. Besides using ternary operators can be harder to read in comparison to the standard if/else statements.

However since PHP 5.3, it is possible to leave out the middle part of the ternary operator. Expression expr1 ?: expr3 returns expr1 if expr1 evaluates to TRUE, and expr3 otherwise.

0 votes
You cannot, it requires 3 parts for that shortcut if:else

Related questions

0 votes
1 answer 184 views
asked Aug 19, 2016 in General by Azi Graeber
0 votes
1 answer 720 views
0 votes
1 answer 7.7k views
+1 vote
1 answer 1.1k views
+2 votes
1 answer 688 views
asked Feb 9, 2017 in General by Marc Lentin