通常の表現は正常に機能しますが、速記は機能しません。ここでどこが間違っていますか?
if (isset($var)) $value = $var;
elseif ($str !== 'string') $value = $str;
else $value = null;
// works just fine
$value = (isset($var)) ? $var : ($str !== 'string') ? $str : null;
// only returns $value = $str
ありがとう