You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

嵌套foreach循环重复输出求助:按对应列展示故事

解决列与故事匹配重复输出的问题

你的问题根源在于嵌套循环的逻辑错误:外层每循环一个列,内层就遍历所有故事,导致每个列都会重复显示全部故事。我们需要先把故事按所属column_id分组,再和对应列匹配展示。

步骤1:先将故事按column_id分组

在循环前先处理$this->getstories数组,把同属一个列的故事归为一组:

// 初始化分组数组
$storiesByColumn = [];
foreach ($this->getstories as $story) {
    // 用column_id作为键,将故事存入对应分组
    $columnId = $story['column_id'];
    $storiesByColumn[$columnId][] = $story;
}

步骤2:修改循环逻辑,匹配对应列的故事

现在遍历列时,只取出该列column_id对应的故事展示,无故事则只显示列名:

foreach ($this->getcolumnname as $columnname):
    $columnId = $columnname['column_id'];
?>
    <div class="panel-heading panel-bgwhite">
        <b><?php echo $columnname['Column_name'] ?></b>
        <!-- 仅展示当前列对应的故事 -->
        <?php if (isset($storiesByColumn[$columnId])): ?>
            <?php foreach ($storiesByColumn[$columnId] as $story): ?>
                <p><?php echo $story['i_description']; ?></p>
            <?php endforeach; ?>
        <?php endif; ?>
    </div>
<?php endforeach; ?>

效果说明

修改后就能实现预期效果:

  • 每个列名仅展示一次
  • 故事只会出现在对应的列下方(比如Backlog列显示s2,WIP列显示s1)
  • 无故事的列(如DOD、COMP等)仅显示列名,不会出现空内容或重复故事

内容的提问来源于stack exchange,提问作者shythya menon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:56:22