如果声明包含第三种颜色

时间:2016-09-16 01:34:38

标签: php laravel-5 blade

在我的下面的代码中,我有它,以便每个框具有不同的颜色if (*p1 == letterToBeRemoved) // ^ blue

如何调整代码以便添加第三种颜色green

我从我提出的其他SO问题中得到了以下代码,并且有人也可以解释grey语句中%2的含义

代码:

if

1 个答案:

答案 0 :(得分:0)

在您给定的代码中,由于您只有两个选项绿色蓝色,每次循环执行时,$class的值都会增加1.所以在%2 (Modulo 2)值上使用$class将始终生成 0 1 。因此,您可以确定 - 如果值 0 我将使用此颜色,或者如果值 1 ,我将使用此颜色。你在if-else条件下使用了这个逻辑,仅此而已。

此外,您可以采用不同的方式。比如,将颜色存储在数组中,然后使用该逻辑使用索引。那么你不必使用这个嵌套的if-else序列。

<?php 
$class = 0; //loop counter
$colors = array('green', 'blue', 'grey'); //color array to store available colors
$arr_length = count($colors); //count how much option we have
?>
@foreach ($dealsDB as $deal)
    <div class="col-md-4">
        <div class="panel panel-default">
            <div class="panel-heading {{$colors[$class % $arr_length]}}">
                <h4><i class="fa fa-fw fa-gift"></i>{{ $deal->title }}</h4>
            </div>
            <div class="panel-body">
                <p>{{  $deal->content }}</p>
            </div>
        </div>
    </div>
 <?php $class++;?>
@endforeach 

请注意,现在您甚至不必考虑是否应该使用2或3模数。如果您需要更多颜色,只需将其添加到$colors数组即可。我需要触摸剩下​​的代码。