Forloop with Limit

时间:2018-05-09 13:40:26

标签: php

我试图用PHP循环中的星星(填充和未填充)。因此,如果评级为3,那么3颗满星和5颗未填充的恒星。

enter image description here

--rpc-bind-port

5 个答案:

答案 0 :(得分:0)

$rating = 3;
for ($x=1; $x<=5; $x++) {
    echo $x<=$rating ? "<img src="{{ URL::asset('assets/star.png')}}">" : "<img src="{{ URL::asset('assets/ustar.png')}}">";
}

答案 1 :(得分:0)

$rating = 3;
unfilled=5-$rating;    
for($x = 1; $x <= $rating; $x++)
{
echo "<img src='{{ URL::asset('assets/star.png')}}'>";
}
for($x = 1; $x <= $unfilled; $x++)
{
echo "<img src='{{ URL::asset('assets/ustar.png')}}'>";
}

答案 2 :(得分:0)

我不是PHP或其他任何专家,但您可以制作5张评级图片并根据$ rating选择图片。

$pics = array('assets/1star.png', 'assets/2star.png', 'assets/3star.png', 'assets/4star.png','assets/5star.png');
$rating = 3;
$pickedpic = $pics[$rating];

只是另一个想法。这样可以防止每个评级加载5x png

答案 3 :(得分:0)

当你退出第一个循环时,$x仍然有一个有用的值。通过省略下一个for循环中的第一个变量,您可以在第一个循环结束时使用$ x的值。

$rating = 3;
@for($x = 1; $x <= $rating; $x++)
    <img src="{{ URL::asset('assets/star.png')}}">
@endfor
@for(; $x <= 5; $x++)
    <img src="{{ URL::asset('assets/ustar.png')}}">
@endfor

答案 4 :(得分:0)

两个循环。一个用于填充,剩余用于未填充:

$rating = 3;
@for($x = 1; $x <= $rating; $x++)
    <img src="{{ URL::asset('assets/star.png')}}">
@endfor
@for($x = $rating +1; $x <= 5; $x++)
    <!--<img src="{{ URL::asset('assets/ustar.png')}}"> --> //unfilled
@endfor