如何避免嵌套的foreach循环php中的重复

时间:2017-01-06 19:42:12

标签: php codeigniter loops foreach nested

为什么值会被多次打印(参见下图)。我只需打印一次。

<?php foreach($patchData3 as $tes3){?> 
    <?php foreach($patchData1 as $tes){?>
        <tr class="<?php if($tes->PATCH == $tes3->PATCH) {echo "red_color"; } ?>"> 
            <td><?php echo $tes->HOSTNAME;?></td>
            <td><?php echo $tes->VERSION;?></td> 
            <td><?php echo $tes->PATCH;?></td> <!--bgcolor="#FF0000"-->
        </tr>   
    <?php } ?>
<?php }?>

enter image description here
enter image description here

1 个答案:

答案 0 :(得分:1)

<?php foreach($patchData1 as $tes){ ?>          
    <tr class="<?php if(checkfunction($tes->PATCH,$patchData3) == TRUE) { echo "red_color"; } ?>"> 
        <td><?php echo $tes->HOSTNAME;?></td>
        <td><?php echo $tes->VERSION;?></td> 
        <td><?php echo $tes->PATCH;?></td> <!--bgcolor="#FF0000"-->
    </tr>   
<?php } ?>

<?php 
    function checkfunction($patch,$patchData3){
        foreach($patchData3 as $tes3){
            if($patch == $tes3->PATCH){
                return true;
            }   
        }
    }
?>

我使用了一个功能来克服重复。如果它不起作用,请评论。