You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP实现5星评分:按评分输出填充与空心星星的循环问题

解决PHP/Laravel中的五星评分星星动态显示问题

嘿,我明白你想要实现的效果——根据指定的评分值,自动展示对应数量的填充星星和剩余的空心星星。你当前的代码只是循环输出了填充星星,我们只需要加个简单的条件判断就能搞定!

这里是修改后的完整代码,适配你用的Laravel Blade语法:

@php
    $rating = 3; // 可以替换成你的实际评分变量
@endphp

@for($x = 1; $x <= 5; $x++)
    @if($x <= $rating)
        <!-- 填充星星 -->
        <img src="{{ URL::asset('assets/star.png') }}" alt="填充星星">
    @else
        <!-- 空心星星 -->
        <img src="{{ URL::asset('assets/ustar.png') }}" alt="空心星星">
    @endif
@endfor

代码解释:

  • 我们在循环里加了一个@if判断:当循环变量$x小于等于你的评分值$rating时,输出填充星星的图片;
  • 当$x超过评分值时,就输出空心星星的图片;
  • 比如你设置$rating = 3,循环会执行5次:前3次输出star.png,后2次输出ustar.png,完全符合你的需求。

如果你的评分可能包含小数(比如3.5分需要半星),可以再扩展判断逻辑,比如用floor($rating)处理整数部分,再判断是否有小数部分来输出半星图片,不过如果只是整数评分的话,上面的代码就足够啦!

内容的提问来源于stack exchange,提问作者Zack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:36:22