在 php if 子句中显示字体真棒图标

Display font awesome icons in php if clause

我想根据两个 php 变量的条件显示很棒的字体图标。例如

if($a > $b) 显示向上箭头图标,否则显示向下箭头图标。

提前致谢。

在我看来有两种方法可以实现这个,我不知道实现的目的是什么。但在最简单的形式中,它看起来像这样:

<?php

$a = 1;
$b = 0;

if($a > $b){
 echo '<i class="fa-solid fa-arrow-down"></i>';   
}
else{
 echo '<i class="fa-solid fa-arrow-up"></i>';   
}
?>

您也可以在 1 行中完成,这称为 Ternary Expression,这通常使用简单的 if 语句完成,以使代码看起来更清晰。

<?php

$a = 1;
$b = 0;

echo $a > $b ? '<i class="fa-solid fa-arrow-down"></i>'  : '<i class="fa-solid fa-arrow-up"></i>';
?>

如您所见,第二个选项更简洁,但它可能会因为较长的表达式而变得混乱,因此请注意。

让我分享一个更具描述性的@Kevin_Vink的回复:

<?php

$a = 1;
$b = 0;

$direction = $a > $b ? 'up' : 'down';

echo "<i class=\"fa-solid fa-arrow-{$direction}\"></i>";

现在 $direction 在 FontAwesome class 中有变化的部分,它使用 double-quoted 字符串中的 {$variable} 语法插入到字符串中。内部 double-quotes 之前的反斜杠用于“转义”它们。

请注意,通常不需要 ?> PHP 结束标记(大多数情况下,强烈建议不要使用它)。