php 打印中的三元运算符?

Ternary Operator in a php print?

我正在尝试在打印语句中使用三元运算符,如下所示:

print'<span class="mailbox-attachment-icon"><i class="fa fa-'. $extension == 'zip' ? 'yes' : 'no'  .'"></i></span>';

每次都让我的页面崩溃。我曾尝试在 ' 周围移动,但没有成功。是 $extension 已定义。

我怎样才能让它工作?

正在从左到右评估您的代码。您必须将该三元子句括在括号中,以确保在附加到字符串之前对其进行评估。

print'<span class="mailbox-attachment-icon"><i class="fa fa-'. ($extension == 'zip' ? 'yes' : 'no')  .'"></i></span>';