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

如何在PHP foreach循环中当变量为0时隐藏指定按钮

解决方法

你的代码里有两个关键问题导致功能失效:

  • 条件判断的变量名错误:$res->issueFixedCount应该是$res->issuesFixedCount(少了一个s),或者直接使用已经定义好的$issuesFixedCount
  • JavaScript代码逻辑错误:const.style.display是语法错误,应该用变量名moreInfoVar;而且document.querySelector('.moreInfo')只会选中页面中第一个匹配的元素,无法精准控制当前循环项的按钮

下面是两种可靠的解决方式:

方式一:PHP直接控制元素显示(推荐)

不需要额外JS,直接在渲染按钮时通过PHP判断是否显示,性能更优:

完全不渲染按钮(当计数为0时)

<div class="details">
    <p>Issues in versie: <?= $res->issuesFixedCount; ?> </p>
    <p>Afgeronde issues: <?= $roundedIssue;?> </p>
    <p>Nog te verwerken issues: <?= $uns->issuesUnresolvedCount;?> </p>
    <?php if ($issuesFixedCount !== 0): ?>
        <a href="<?= 'version/?version=' . $item->name; ?>" class="moreInfo">Meer info</a><br>
    <?php endif; ?>
</div>

保留元素但隐藏(当计数为0时)

如果需要保留DOM元素,只是隐藏:

<div class="details">
    <p>Issues in versie: <?= $res->issuesFixedCount; ?> </p>
    <p>Afgeronde issues: <?= $roundedIssue;?> </p>
    <p>Nog te verwerken issues: <?= $uns->issuesUnresolvedCount;?> </p>
    <a 
        href="<?= 'version/?version=' . $item->name; ?>" 
        class="moreInfo"
        <?= $issuesFixedCount === 0 ? 'style="display:none;"' : '' ?>
    >Meer info</a><br>
</div>

方式二:修复JavaScript逻辑(适合需要动态控制的场景)

给每个按钮添加唯一ID,确保JS能精准定位当前循环项的按钮:

<?php
foreach ($items as $item):
    // ... 其他代码保持不变
    $issuesFixedCount = $res->issuesFixedCount;
    // ... 其他代码保持不变

    // 修正条件判断和JS逻辑
    if ($issuesFixedCount === 0){
        echo "<script>
            document.getElementById('moreInfo-{$item->name}').style.display = 'none';
        </script>";
    }
?>

<div class="item" id="item">
    <!-- ... 其他代码保持不变 -->
    <div class="details">
        <!-- ... 其他代码保持不变 -->
        <!-- 给按钮添加唯一ID -->
        <a 
            href="<?= 'version/?version=' . $item->name; ?>" 
            class="moreInfo"
            id="moreInfo-<?= $item->name ?>"
        >Meer info</a><br>
    </div>
    <!-- ... 其他代码保持不变 -->
</div>
<?php endforeach;?>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 16:30:15