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
相关产品推荐
相关产品推荐

