我有一个页面,我需要显示星星系统。转换数字视觉明星形象。我有1.5,2,2.5,..5.0。我有一个代码显示转换数字,但5.0显示6星
遵循这条代码
Converting numbers to visual rating (stars)?
$starNumber = 5.0;
for ($x = 1; $x <= $starNumber; $x++) {
echo '<li><i class="fa fa-star"></i></li>';
}
if (strpos($starNumber, '.')) {
echo '<li><i class="fa fa-star-half-o"></i></li>';
$x++;
}
while ($x <= 5) {
echo '<li><i class="fa fa-star-o"></i></li>';
$x++;
}
显示为6星级
7条答案
按热度按时间6g8kf2rb1#
我的解决方案:
**一个
只有一个
foor
循环,我比较$starNumber
的floor
值(浮点向下舍入)与当前$x
值,以回显全星形;否则,如果未舍入值大于当前$x
,则I回显半星;否则(值低于当前$x
)I回显空星。am46iovg2#
在这里我想帮助其他人谁是真正寻找小枝模板解决方案....
tzdcorbm3#
使用上面的简单循环语句,其中不需要任何条件语句,因为每个整数都可以通过简单地减去0.5而变为浮点数。
mefy6pfw4#
PHP语言:
CSS:
然后像这样使用它:
我使用了FontAwesome v5.5.0。
du7egjpx5#
我其实只是结束了这样的工作。有点失望地发现,这里的答案似乎只适用于全星(评级1-5),而我想要的东西与半星(评级1-10)
我最终创造了这个:
0的输出为5颗空白星。10的输出为5颗整星。5的输出为2颗整星、1颗半星和2颗空白星。
insrf1ej6#
ldxq2e6h7#