我有一个数组
的数值<p><b>Rating</b>: 5.100000</p>
在浏览器源代码中输出
<li>
<i class="glyphicon glyphicon-star"></i>
<i class="glyphicon glyphicon-star"></i>
<i class="glyphicon glyphicon-star half"></i>
<i class="glyphicon glyphicon-star empty"></i>
<i class="glyphicon glyphicon-star empty"></i>
</li>
(这是10分中5.100000的评分。)
我如何将评级数值显示为五星级数组?
例如,5.100000值将显示为五个中的两个和1/2星。像这样。
user = User.find_by(provider: 'provider', uid: ':uid')
答案 0 :(得分:2)
使用for循环并将当前循环迭代与$arr->rating
进行比较,以确定星形是满,半还是空。
// first convert the rating from score out of ten to score out of five
$rating = $arr->rating / 2;
for ($i=0; $i < 5; $i++) {
$current = $rating - $i;
if ($current >= 1) {
$class = '';
} elseif ($current > 0) {
$class = 'half';
} else {
$class = 'empty';
}
echo "<i class=\"glyphicon glyphicon-star $class\"></i>";
} ?>