我做了很多关于它的研究,但我最终只使用了2种不同的颜色而不是4.我想要的是使用4种不同的颜色(blue
,red
,green
,yellow
)交替改变颜色。我所拥有的只是两种颜色。请参阅下面的代码:
<?php $colors_counter = 0; ?>
@foreach($posts as $post)
<div class="header-{{ ($colors_counter%2 == 0) ? 'blue' : 'red' : 'green' : 'yellow' }}">
{{ $post->name }}
</div>
<?php $colors_counter++; ?>
@endforeach
注意:我也在使用laravel 5。
您可以将颜色放在单独的数组中,并采用总计数的mod值来交替行之间的颜色。
这个解决方案是可扩展的,适用于跨N
行数的M
颜色。
这样,即使您修改颜色或行数,代码也会起作用。
可伸缩代码逻辑
$colors = [
'blue'
'red',
'green',
'yellow',
];
$no = count($colors);
// Then use this inside the loop
$colors[$colors_counter % $no];
例
$colors = [
'blue',
'red',
'green',
'yellow',
];
$no = count($colors);
for ($i=0;$i < 10; $i++) {
echo $colors[$i % $no]."\n";
}
产量
blue
red
green
yellow
blue
red
green
yellow
blue
red
你应该定义颜色数组并使用colors_counter作为数组索引。
<?php
$colors_counter = 0;
$colors = array(0=>"blue", 1=>"red", 2=>"green", 3=>"yellow");
?>
@foreach($posts as $post)
<div class="header-{{ $colors[$colors_counter] }}">
{{ $post->name }}
</div>
<?php $colors_counter++; ?>
@endforeach