首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有不同设置的foreach循环案例

问具有不同设置的foreach循环案例
EN

Stack Overflow用户
提问于 2017-04-12 23:06:57
回答 3查看 77关注 0票数 0

我有一个foreach循环,给出了一个景观画廊图像的结果。基本上是从

代码语言:javascript
复制
<?php foreach ( $images as $image ) : ?>

然后是库图像的常规div +锚+图像标记。

代码语言:javascript
复制
<?php if ( $image->description == "portrait" ) :  ?>

<div id="ngg-image-<?php echo $image->pid ?>" class="ngg-gallery-thumbnail-box portrait" <?php echo $image->style ?> >


<div class="ngg-gallery-thumbnail" >

        <a class="portrait-image" href="<?php echo $image->imageURL ?>" title=" " id="<?php echo $image->alttext ?>" rel="lightbox" <?php echo $image->thumbcode ?> >           
        <img title="<?php  echo ' ' /* $image->alttext */ ?>" alt="<?php echo ' ' /* $image->alttext */ ?>" src="<?php echo $image->thumbnailURL ?>" <?php echo $image->size ?> />
        </a>

<?php else: ?>

<div id="ngg-image-<?php echo $image->pid ?>" class="ngg-gallery-thumbnail-box landscape" <?php echo $image->style ?> >


<div class="ngg-gallery-thumbnail" >

        <a class="landscape-image" href="<?php echo $image->imageURL ?>" title=" " id="<?php echo $image->alttext ?>" rel="lightbox" <?php echo $image->thumbcode ?> >          
        <img title="<?php  echo ' ' /* $image->alttext */ ?>" alt="<?php echo ' ' /* $image->alttext */ ?>" src="<?php echo $image->thumbnailURL ?>" <?php echo $image->size ?> />
        </a>


<?php endif; ?>

我想有一个特殊的情况,我有两个肖像图像并排,填补了一个景观图像的空间。

我在想的是在管理区域有一个标签,它会触发foreach循环的中断,在一个容器div中有两个图像,然后它将继续常规循环,只需容器+图像的景观图像。在foreach循环的情况下,是否可以跳出循环,使用不同的设置,然后返回到常规的循环方法?

EN

回答 3

Stack Overflow用户

发布于 2017-04-12 23:22:50

您可以尝试如下所示:

代码语言:javascript
复制
foreach($images as $key => $image) {
    if($image has special tag) { // <--- PSEUDOCODE 
        echo "<div class='SPECIAL_CSS_CLASS'><img src='" . $img->path . "' /></div>";
    }
}

然后在你的CSS中施展你的魔法吧!

票数 1
EN

Stack Overflow用户

发布于 2017-04-12 23:40:57

我会继续这样做:

代码语言:javascript
复制
//Function to get all the images based on a specific portrait_group
function getImagesPortraitGroup($group, $images) {
    $result = array();
    foreach ($images as $image) {
        if (isset($image['portrait_group']) && $image['portrait_group'] == $group) {
            $result[] = $image;
        }
    }
    return $result;
}

//The images to show
$images = array(
    ["url" => "http://lorempixel.com/400/200/", "caption" => "Lorem Image1", "portrait_group" => 1],
    ["url" => "http://lorempixel.com/400/200/", "caption" => "Lorem Image2", "portrait_group" => 1],
    ["url" => "http://lorempixel.com/800/200/", "caption" => "Lorem Image3"],
    ["url" => "http://lorempixel.com/400/200/", "caption" => "Lorem Image4", "portrait_group" => 2],
    ["url" => "http://lorempixel.com/400/200/", "caption" => "Lorem Image5", "portrait_group" => 2],
);

//Everytime we show a group, we track it by adding it to this array in order not to show it again
$addedGroups = array();

//Loop through all the images
for ($i = 0; $i < count($images); $i++) {
    echo "<div>";

    //If the image has a portrait_group that is not already shown, show it
    if (isset($images[$i]['portrait_group']) && !in_array($images[$i]['portrait_group'], $addedGroups)) {
        $groupImages = getImagesPortraitGroup($images[$i]['portrait_group'], $images);
        foreach ($groupImages as $image) {
            echo "<img src='{$image['url']}' title='{$image['caption']}' >";
        }
        //Save the group to the array in order not to show it again
        $addedGroups[] = $images[$i]['portrait_group'];
    } else {
        echo "<img src='{$images[$i]['url']}' title='{$images[$i]['caption']}' >";
    }
    echo "</div>";
}
票数 1
EN

Stack Overflow用户

发布于 2017-04-14 14:51:23

我设法按jQuery进行分组,这是代码

代码语言:javascript
复制
jQuery(".ngg-gallery-thumbnail-box.portrait").filter(":odd").each(function(){
    $content = jQuery(this).find("a");
    jQuery(this).prev().find(".ngg-gallery-thumbnail").append($content);
    jQuery(this).remove();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43373315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档