Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 两套foreach_Php_Foreach - Fatal编程技术网

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处理图像

  • $slide\u图像
    包含10行
  • $why_us
    包含3行
我需要每个图像拍摄一行
$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
    }
}