我有两个数组(例如$ arrayA和$ arrayB),其中包含许多值。
我想使用一个只包含4个div的foreach循环,用这些值填充8个div的列表,每个div从各自的数组中增加一个增量键。
以下内容有望说明:
foreach ($values as $value) {
echo
'<div class="type-a">' . $arrayA[i] . '</div>
<div class="type-b">' . $arrayB[i] . '</div>
<div class="type-a">' . $arrayA[i+1] . '</div>
<div class="type-b">' . $arrayB[i+1] . '</div>';
}
<div class="type-a"> A1 </div>
<div class="type-b"> B1 </div>
<div class="type-a"> A2 </div>
<div class="type-b"> B2 </div>
<div class="type-a"> A3 </div>
<div class="type-b"> B3 </div>
<div class="type-a"> A4 </div>
<div class="type-b"> B4 </div>
任何建议都会很棒!
答案 0 :(得分:0)
在对长度差异发表评论之后,您可以计算每个的大小以确定哪个更大,然后遍历其中一个作为主数组:
<?php
# Make sure each value is an array
$arrayA = (empty($arrayA))? [] : array_values($arrayA);
$arrayB = (empty($arrayB))? [] : array_values($arrayB);
# Determine which array is longer
if(count($arrayA) >= count($arrayB)) {
$arr_L = $arrayA;
$arr_S = $arrayB;
}
else {
$arr_L = $arrayB;
$arr_S = $arrayA;
}
# Iterate over the larger array
foreach($arr_L as $key => $value): ?>
<!-- Just echo the value here because you are iterating this array -->
<div class="type-a"> <?php echo $value ?> </div>
<!-- Use the current key from this array to fetch the value from the B array -->
<div class="type-b"> <?php echo $arr_S[$key] ?> </div>
<?php endforeach ?>