Php 两套foreach
我在数据库中有两个表,第一个是Php 两套foreach,php,foreach,Php,Foreach,我在数据库中有两个表,第一个是$slide\u images,第二个是$why\u us,我使用owl carousel处理图像 $slide\u图像包含10行 $why_us包含3行 我需要每个图像拍摄一行$why_us,这意味着前3个图像将包含$why_us表中的文本。 我尝试了很多方法来实现这一点,但它没有给我想要的,我无法编辑表来实现这一点,并且id列没有嵌套以使用SQL连接它们。 我可以用嵌套foreach解决它们吗 <div class="home_area">
$slide\u images
,第二个是$why\u us
,我使用owl carousel处理图像
包含10行$slide\u图像
包含3行$why_us
$why_us
,这意味着前3个图像将包含$why_us
表中的文本。
我尝试了很多方法来实现这一点,但它没有给我想要的,我无法编辑表来实现这一点,并且id列没有嵌套以使用SQL连接它们。
我可以用嵌套foreach解决它们吗
<div class="home_area">
<!-- start Carousel -->
<div class="owl-carousel block_1">
<?php
if(is_array($slide_image)){
foreach($slide_image as $src){
?>
<div class="overlay-text">
<div class="carousel_item" style="background-image:url('<?php echo base_url(); echo $src->url; ?>');"></div>
<div class="text-layer">
<!--============ start we us ================ -->
<?php if($why_us != ''){ ?>
<div class="we">
<div class="container">
<div class="row">
<?php foreach($why_us as $we){ ?>
<div class="box">
<h6><?php echo $we->name; ?></h6>
<div class="text"><?php echo $we->desc; ?></div>
</div>
<?php }?>
</div>
</div>
</div>
<?php } ?>
<!--============= end we us ========== -->
</div>
</div>
<?php } }?>
</div>
<!-- end Carousel -->
</div>
不应使用嵌套循环。这将在阵列之间创建叉积
相反,您应该只有一个使用两个数组的对应元素的循环。因为其中一个数组较小,所以应该检查索引是否存在
foreach ($slide_image as $index => $src) {
// code that uses `$src` here
if (isset($why_us[$index])) {
$we = $why_us[$index];
// code that uses $we here
}
}