【发布时间】:2017-08-17 22:53:16
【问题描述】:
我有一个数组。 示例:
$array = array(
"Row1",
"Row2",
"Row3",
"Row4",
"Row5",
"Row6",
"Row7",
"Row8",
"Row9",
"Row10",
"Row11",
"Row12",
"Row13",
"Row14",
"Row15",
"Row16",
"Row17",
"Row18",
"Row19",
"Row20",
"Row21",
"Row22",
"Row23",
"Row24",
"Row25",
"Row26",
"Row27",
"Row28",
);
$columns = 6;
$modified_array = array_chunk($array, ceil(count($array) / $columns) );
我有一个这样的foreach
foreach ($modified_array as $key => $value) {
}
我的数组 chung 将我的数组分成 6 列,并且我在循环行 3 中具有不同的列布局,我想在每个循环行中重复此操作。
我有一些条件要在我的 foreach 的键值中停止以显示不同的列,但循环不能很好地工作,我不能我的数组中的所有元素
查看我的打印Imagem Print 或者我的测试 php 代码Php Example
我希望循环的每一行都必须与数组的顺序相同。
我的 foreach 的完整代码:
foreach ($modified_array as $key => $value) {
if($key == 0 || $key % 2 == 0){
$html.= '<div class="row" style=""> <strong>Line '.$key.'</strong><br>';
$html.= '
<div class="col-md-6" style="">
Column 1
<div class="col-md-12" style="background-color:#21e934; height:175px; padding: 0 !important; margin: 0 !important;"><img src="http://via.placeholder.com/555x175" class="img-responsive"></div>
<!--col-md-12-->
<div class="col-md-12" style="background-color:#3c6040; height:175px; color:#FFF">text row Key:: '.$key.' value: '.$value[0].'</div>
<!--col-md-12-->
</div>
<!--col-md-6-->';
$html.= '
<div class="col-md-6" style="">
Column 2';
$html.= '
<div class="col-md-12" style="background-color:#bb1ff5; height:170px; padding: 0 !important; margin: 0 0 10px 0 !important;">
<div class="col-md-6" style="background-color:#bb1717; height:170px; color:#fff">text row Key: '.$key.' value: '.$value[1].'</div>
<div class="col-md-6 text-right" style="background-color:#f5651f; padding: 0 !important; margin: 0 !important;"><img src="http://via.placeholder.com/278x170" class="img-responsive"></div>
</div>';
$html.= '
<div class="col-md-12" style="background-color:#3c6040; height:170px; padding: 0 !important; margin: 0 !important;">
<div class="col-md-6" style="background-color:#f5651f; padding: 0 !important; margin: 0 !important;"><img src="http://via.placeholder.com/278x170" class="img-responsive"></div>
<div class="col-md-6" style="background-color:#f5ac1f; height:170px; color:#fff">text row Key: '.$key.' value: '.$value[2].'</div>
</div>';
$html.= '
</div>
<!--col-md-6-->
</div>';
}
if($key == 1 || $key % 2 == 1){
$html.= '
<div class="row" style=""><strong>Line '.$key.'</strong><br>
<div class="col-md-6" style="">
Column 3';
$html.= '
<div class="col-md-12" style="background-color:#3c6040; height:170px; padding: 0 !important; margin: 0 0 10px 0 !important;">
<div class="col-md-6" style="background-color:#f5ac1f; height:170px;">text row Key: '.$key.' value: '.$value[0].'</div>
<div class="col-md-6" style="background-color:#f5651f; padding: 0 !important; margin: 0 !important;"><img src="http://via.placeholder.com/278x170" class="img-responsive"></div>
</div>
<!--col-md-12-->
<div class="col-md-12" style="background-color:#bb1ff5; height:170px; padding: 0 !important; margin: 0 !important;">
<div class="col-md-6" style="background-color:#f5651f; padding: 0 !important; margin: 0 !important;"><img src="http://via.placeholder.com/278x170" class="img-responsive"></div>
<div class="col-md-6" style="background-color:#f5ac1f; height:170px;">text row Key: '.$key.' value: '.$value[1].'</div>
</div>
<!--col-md-12-->
</div>
<!--col-md-6-->
<div class="col-md-6" style="">
Column 4';
$html.= '
<div class="col-md-12" style="background-color:#21e934; height:175px; padding: 0 !important; margin: 0 !important;"><img src="http://via.placeholder.com/555x175" class="img-responsive"></div>
<div class="col-md-12" style="background-color:#3c6040; height:175px; color:#FFF">text row Key:: '.$key.' value: '.$value[2].'</div>
</div>
<!--col-md-6-->
</div>
<!--row-->
';
}
}
谢谢
【问题讨论】:
-
请在您的问题中直接包含相关代码,而不是在第三方网站上。另外,老实说,我不知道您所说的“我希望每个颜色行都有一个具有相同顺序的数组项”是什么意思。
-
@PatrickQ 怎么格式化这样的代码?
-
@PatrickQ 抱歉我的英语不好,我很难过“我希望我的数组的循环元素具有相同的数组顺序。”
-
这是因为您使用的是 boostrap 及其类,响应式指令将您的 div 放在列中,因此在您的 div 上添加 boostrap 类之后,请尝试在 et 之前不引导格式化
-
@Fky 是我想要的 boostrap。但问题是,如果你在第 1 行看到我的 php 示例,值应该是并以数组值 Row4 开头。我用我的 foreach 的完整代码编辑我的帖子