首页 > 解决方案 > 在 foreach 中打印一次值

问题描述

我是 PHP 新手。我用谷歌搜索了这个问题,但仍然无法获得价值。我有一个 PHP 项目

<?php
foreach($categories as $key => $cat){
?>

<div class="container-fluid ">
  <div class="row justify-content-around mt-5">
    <div class="card border-0" style="width: 25rem;">
    <div class="display-3"><?php echo $cat ?></div>
    <img style="margin-bot: 100px;" class="card-img-top" src="imagenes/drinks3.png" alt="Card image cap">
    <div class="card-body">
    </div>
  </div>
  <div class="card border-0" style="width: 25rem;">
  <div class="display-3"><?php echo $cat ?></div>
    <img class="card-img-top" src="imagenes/snacks.png" alt="Card image cap">
    <div class="card-body">
    </div>
  </div>
  <div class="card border-0" style="width: 25rem;">
  <div class="display-3"><?php echo $cat ?></div>
    <img class="card-img-top" src="imagenes/postres1.png" alt="Card image cap">
    <div class="card-body">
    </div>
  </div>
  </div>
</div>

我需要打印每个值一次以获得每个类别 $categories 的卡片。但是我得到了 9 张卡片,每个类别重复了 3 次。我尝试使用索引,但它只被偏移量 0 破坏。

标签: phphtmlarraysfor-loopforeach

解决方案


打印您需要在循环中唯一的嵌套 div:

<div class="container-fluid ">
  <div class="row justify-content-around mt-5">
<?php
foreach($categories as $key => $cat){
?>
    <div class="card border-0" style="width: 25rem;">
    <div class="display-3"><?php echo $cat ?></div>
    <img style="margin-bot: 100px;" class="card-img-top" src="imagenes/drinks3.png" alt="Card image cap">
    <div class="card-body">
    </div>
  </div>
<?php } ?> 
  </div>
</div>

推荐阅读