In PHP using Ternary Operator without the Else statement

0 votes
asked Jul 31 in General by Fahad
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
answered Jul 31 by anonymous
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
answered Aug 1 by Mark
You cannot, it requires 3 parts for that shortcut if:else

Related questions

0 votes
1 answer 49 views
asked Aug 19, 2016 in General by Azi Graeber
0 votes
1 answer 401 views
+1 vote
1 answer 275 views
+2 votes
1 answer 185 views
asked Feb 9 in General by Marc Lentin
0 votes
2 answers 273 views
asked Nov 24, 2016 in General by srinivasulu_yagnam (200 points)