我有下面的字符串:
$html .= '<img src="' . $url . '" alt="' . trim($alt) ? $alt : $this->escape($name) . '" />';
乍一看看起来不错,但它会将空字符串附加到$html
,这会让人头疼......
但如果我在三元运算符周围添加括号,则返回预期结果
$html .= '<img src="' . $url . '" alt="' . (trim($alt) ? $alt : $this->escape($name)) . '" />';
我的问题是解析器如何解析这个表达式,结果可能没有附加任何内容?