0 votes
6.7k views
asked 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
answered by
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.

http://php.net/manual/en/language.operators.comparison.php
0 votes
answered by
You cannot, it requires 3 parts for that shortcut if:else

Related questions

0 votes
1 answer 55 views
asked Aug 18, 2016 in General by Azi Graeber
0 votes
1 answer 576 views
0 votes
1 answer 4.1k views
+1 vote
1 answer 957 views
+2 votes
1 answer 518 views
asked Feb 8, 2017 in General by Marc Lentin
...