在PHP

时间:2015-10-12 18:24:29

标签: php arrays loops laravel

我目前正在循环浏览Laravel 5视图文件中的数组。此循环从数据库输出派对选项。

parties.blade.php

<div class="row clc-page-padding-left-right-46">
      @foreach($partyThemes as $key => $partyTheme)
        <div class="medium-6 large-3 columns">
          <div class="clc-block-shadowed" style="margin-bottom:0;min-height:375px;background-color:{{ $partyThemeColors[$key] }};">
            <center>
              <a href="#">
                <img src="{{ URL::asset( $partyTheme->image_main ) }}" alt="" />
              </a>
            </center>
            <h4 class="clc-text-align-center"><a href="#">{!! $partyTheme->title !!}</a></h4>
            <p class="clc-text-align-center">
              From R{!! $partyTheme->cost_per_child !!}
            </p>
          </div>
          <p class="clc-text-align-center clc-more-info">
            <a href="#">More Info</a>
          </p>
        </div>
      @endforeach
    </div>

我有另一个数组,其中包含背景颜色的十六进制代码。这是在style属性下面的第4行输出的。

$partyThemeColors = array(
  '#55cbbb',
  '#97c86b',
  '#fbdf5e',
  '#ea535d',
  '#97c86b',
  '#55cbbb',
  '#ea535d',
  '#fbdf5e'
);

目前,我使用主循环的$键选择 $ partyThemeColors 数组中的值。 因为 $ partyThemeColors 数组比另一个短,所以一旦完成,就会抛出错误。

如何才能让 $ partyThemeColors 数组在结束后重置为开头?

这基本上是同时运行两个循环,其中包含不同长度的数组?

1 个答案:

答案 0 :(得分:1)

使用the modulus operator

$partyThemeColors[$key % count($partyThemeColors)]

您可能想要从循环中提取计数。