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

Laravel Blade含区间判断的三条件if-elseif语句问题排查

修复你的Laravel Blade区间判断逻辑问题

兄弟,问题明明白白出在第二个条件的写法上!你写的$array['diff'] > (168) && (720)完全不是正确的区间判断——后面单独的(720)会被当作布尔值true,所以这个条件实际上就等同于$array['diff'] > 168,这直接和第三个条件$array['diff'] > 720重叠冲突,逻辑自然乱套,得不到预期结果。

正确的写法应该是这样的:

要表示“大于168且小于等于720”的区间,必须完整写出两边的判断逻辑,同时我还帮你修复了代码里未闭合的<td>标签(应该是</td>,不然会导致HTML结构错误):

@foreach($post_array[$key] as $array)
    @if($array['diff'] <= 168)
        <td>{{ $count }}</td>
    @elseif($array['diff'] > 168 && $array['diff'] <= 720)
        <td>{{ $count }}</td>
    @elseif($array['diff'] > 720)
        <td>{{ $count }}</td>
    @endif
@endforeach

补充小提示:

如果三个分支里的{{ $count }}是不同的数值,你只需要替换对应位置的内容就行;如果值完全一致,其实可以简化逻辑,但我猜你应该是每个区间对应不同的统计值,所以保持这个结构就很清晰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:03:02