寻找一种更简洁的方式来与运算符呼应 Font Awesome 图标
Looking for a cleaner way to echo a Font Awesome icon with operators
变量 $fields['score']
returns 一个介于 1 到 5 之间的值。根据得分,它可能是 returns <i class="fas fa-star"></i>
或 <i class="far fa-star"></i>
。我目前有下面的代码,它工作得很好。但我正在寻找一种重复性较低的方法来实现这一目标。有什么建议吗?
<?php if ( $fields['score'] >= 1 ) {
echo '<i class="fas fa-star"></i>';
} else {
echo '<i class="far fa-star"></i>';
}
if ( $fields['score'] >= 2 ) {
echo '<i class="fas fa-star"></i>';
} else {
echo '<i class="far fa-star"></i>';
}
if ( $fields['score'] >= 3 ) {
echo '<i class="fas fa-star"></i>';
} else {
echo '<i class="far fa-star"></i>';
}
if ( $fields['score'] >= 4 ) {
echo '<i class="fas fa-star"></i>';
} else {
echo '<i class="far fa-star"></i>';
}
if ( $fields['score'] >= 5 ) {
echo '<i class="fas fa-star"></i>';
} else {
echo '<i class="far fa-star"></i>';
} ?>
试试这个:
$value = $fields['score'];
for ($i = 1; $i <= 5; $i++) {
if ($value >= $i) {
echo '<i class="fas fa-star"></i>' . PHP_EOL;
} else {
echo '<i class="far fa-star"></i>' . PHP_EOL;
}
}
变量 $fields['score']
returns 一个介于 1 到 5 之间的值。根据得分,它可能是 returns <i class="fas fa-star"></i>
或 <i class="far fa-star"></i>
。我目前有下面的代码,它工作得很好。但我正在寻找一种重复性较低的方法来实现这一目标。有什么建议吗?
<?php if ( $fields['score'] >= 1 ) {
echo '<i class="fas fa-star"></i>';
} else {
echo '<i class="far fa-star"></i>';
}
if ( $fields['score'] >= 2 ) {
echo '<i class="fas fa-star"></i>';
} else {
echo '<i class="far fa-star"></i>';
}
if ( $fields['score'] >= 3 ) {
echo '<i class="fas fa-star"></i>';
} else {
echo '<i class="far fa-star"></i>';
}
if ( $fields['score'] >= 4 ) {
echo '<i class="fas fa-star"></i>';
} else {
echo '<i class="far fa-star"></i>';
}
if ( $fields['score'] >= 5 ) {
echo '<i class="fas fa-star"></i>';
} else {
echo '<i class="far fa-star"></i>';
} ?>
试试这个:
$value = $fields['score'];
for ($i = 1; $i <= 5; $i++) {
if ($value >= $i) {
echo '<i class="fas fa-star"></i>' . PHP_EOL;
} else {
echo '<i class="far fa-star"></i>' . PHP_EOL;
}
}