我第一次使用刀片,我需要根据可用的属性数量更改此div元素的样式。我需要编写一个if语句,如果等于或小于1则隐藏div,如果等于2则添加不同的类。
我怎么用刀片或php写这个?
@if (isset($participatingProperties) && !empty($participatingProperties) && is_array($participatingProperties))
<?php $i = 0; ?>
@foreach ($participatingProperties as $key => $property)
@if ($i++ % 3 === 0)
<div class="item item2 {{ $i < 3 ? 'active' : '' }}">
@endif
答案 0 :(得分:0)
我的理解是:
你有一个$participatingProperties
数组和一个div来打印
当它有0或1个元素时,没有任何反应
当它有2个元素时,div会以特定的样式打印
当它有3个或更多元素时,div会以另一种风格打印
(超过3个元素没有规则)。
我会通过count
保持简单:
@php($count = count($participatingProperties))
@if ($count > 1)
<div
class="{!! ($count == 2) ? 'class-2' : 'class-3-or-more' !!}"
>
div content
</div>
@endif
如果您不需要每种金额的特定风格,那就更简单了:
@if (count($participatingProperties) > 1)
<div class="myclass">
div content
</div>
@endif
同时使用empty
和isset
是redundant。我认为你不应该检查$participatingProperties
是否是一个数组,而是确保它总是在你的后端。如果您至少返回一个空数组,count
将返回0
。