I'm just wondering why this code returns 1
$complete = 'complete';
$completed = ($complete == 'complete') ?: 'Not Complete';
while if I try this one
$complete = 'complete';
$completed = ($complete == 'complete') ? $complete : 'Not Complete';
and this one
$complete = 'complete';
if ($complete == 'complete') {
$completed = $complete;
} else {
$completed = 'Not Complete';
}
they both returns 'complete'
base on this ?: operator (the 'Elvis operator') in PHP
aren't they all supposed to return the same value?