Php 为什么';这个标签没什么用吗

Php 为什么';这个标签没什么用吗,php,html,Php,Html,我有一个PHP循环,列出了来自数据库的结果: 我所做的是用PHP编写一个if语句,以便每次输出4个结果时,执行一行代码。然后我在这个循环中放置了一个break标记,这样每4个结果就会有一个break标记。看起来是这样的: if ($i %4 == 0){ echo "<br />"; echo $i; } if($i%4==0){ 回声“”; echo$i; } 当我查看站点的源代码时,标记就在那里,但它不会将其余信息移到另一行。当我添加另一行代码时,它会显示,例

我有一个PHP循环,列出了来自数据库的结果:

我所做的是用PHP编写一个if语句,以便每次输出4个结果时,执行一行代码。然后我在这个循环中放置了一个break标记,这样每4个结果就会有一个break

标记。看起来是这样的:

if ($i %4 == 0){
    echo "<br />";
    echo $i;
}
if($i%4==0){
回声“
”; echo$i; }
当我查看站点的源代码时,

标记就在那里,但它不会将其余信息移到另一行。当我添加另一行代码时,它会显示,例如,如果我打印Hello,它会输出“Hello”

似乎是

不起作用。这将导致前4个结果离开屏幕末端后的所有结果

以下是整个页面和输出的屏幕截图:

<section class="hero is-dark is-halfheight is-bold">
<div class="hero-head">
</div>
  <div class="hero-body">
    <div class="container has-text-centered">
      <div class="columns">
      <?php
              $i = 0;   
              foreach($_SESSION['all'] as $result) {
              echo '<div class="column is-3">';
              echo '<a href="#">';
              echo '<div class="box has-text-centered">';
              echo $result;
              echo '</div>';
              echo '</a>';

              echo '</div>';

              $i++;
              if ($i %4 == 0){
                echo "<br />";
                echo $i;
              }
          }   
      ?>
      </div>
    </div>
  </div>
</section>

而且


如评论中所述,Br将不起作用,您必须将代码包装在一个行div中,如下所示:

<section class="hero is-dark is-halfheight is-bold">
<div class="hero-head">
</div>
  <div class="hero-body">
    <div class="container has-text-centered">
      <div class="columns">
      <?php
        $i = 0;   
        foreach($_SESSION['all'] as $result) {
            if ($i %4 == 0){
            echo '<div class="row">';
            echo $i;
            }
            echo '<div class="column is-3">';
            echo '<a href="#">';
            echo '<div class="box has-text-centered">';
            echo $result;
            echo '</div>';
            echo '</a>';

            echo '</div>';

            $i++;
            if ($i %4 == 0){
            echo "</div>";
            echo $i;
            }
        }   
      ?>
      </div>
    </div>
  </div>
</section>

<style>
    .row {
        margin-bottom: 15px;
    }
</style>

.行{
边缘底部:15px;
}

我的最佳选择是因为您的CSS样式覆盖了
br
行为。看看下面的代码片段(以整页打开),多个
br
s没有任何作用

我假设您使用的是CSS,而不会谈论它为什么会工作,因为已经有了很好的解释文档


方框1
方框12
方框13




方框2 1 方框2 方框2 3
$\u会话['all']
被分配到确切的位置/方式?使用yes代替br,您的css看起来像什么?你们班说的是专栏。我认为这就是你得到的br在div之间不起作用…
br
是一个糟糕的标记解决方案,几乎可以解决所有问题。在这种情况下,@TommasoBelluzzo指出,
br
div
标记之间没有效果。此外,你的问题很容易让人误解:这个问题应该是“为什么我的break标记不起任何作用?”,内容应该包括HTML——你的PHP与任何事情都无关。这真的很有帮助!我现在不明白为什么所有的内容都转移到了页面的左边。它每4行就断一行,然后移到下一行,但它只占了页面的三分之二?很高兴它起到了作用。如果你愿意,你可以把它标为答案。不管怎样,如果您使用bulma,它可以按预期工作,如中所述:12列中需要多少列,这意味着总网格12(即浏览器宽度)除以3(按
is-3
class)。要完全填满它,ofc、
is-4
(甚至根本没有
is-*
类)应该完成这项工作。