【问题标题】:how to create a line break in a loop如何在循环中创建换行符
【发布时间】:2012-02-28 23:07:44
【问题描述】:

在下面的代码中,我将在单选按钮显示 5 次后添加一个中断标记。我尝试了几种方法,但不断重复所有单选按钮的数量。

foreach ($salary_tbl as $key=>$value) {
    echo "<span class=\"year\">$key</span><input class=\"margin_r36\" type=\"radio\" value='$value' name='salary_tbl' /><br />";
  }

这是我尝试过的

for ($i=1; $i<=10; $i++) {
 if ($i < 5) {
    foreach ($salary_tbl as $key=>$value) {
     echo "<span class=\"year\">$key</span><input class=\"margin_r36\" type=\"radio\" value='$value' name='salary_tbl' /><br />";
   }
  }
 }

谢谢

【问题讨论】:

  • 如果答案对您有帮助。不要忘记将其标记为已回答:)

标签: php loops for-loop while-loop


【解决方案1】:
$count = 0;
foreach ($salary_tbl as $key=>$value) {
    if($count == 5) {
         //Apply the line break here
    }
    echo "<span class=\"year\">$key</span><input class=\"margin_r36\" type=\"radio\" value='$value' name='salary_tbl' /><br />";
    $count++;
}

或者如果您希望每 5 条记录换行一次,那么您可以将代码稍微更改为。

$count = 0;
foreach ($salary_tbl as $key=>$value) {
    if($count && $count%5 == 0) {
         //This will apply the line break for every five records
    }
    echo "<span class=\"year\">$key</span><input class=\"margin_r36\" type=\"radio\" value='$value' name='salary_tbl' /><br />";
    $count++;
}

我的另一个建议是,不要使用转义字符\,您可以简单地将其与单引号和连接运算符一起使用,这样更易​​读。

例如。

echo '<span class="year">' . $key . '</span><input class="margin_r36" type="radio" value="' . $value . '" name="salary_tbl"/><br />';

现在不是更可读了吗?

【讨论】:

  • 第一个单选按钮前会有一个换行符。
【解决方案2】:
$i = 0;
foreach ($salary_tbl as $key=>$value) {
    if ($i >= 5) {
      // Line break
      $i=0;
    }
    echo "<span class=\"year\">$key</span><input class=\"margin_r36\" type=\"radio\" value='$value' name='salary_tbl' /><br />";
    $i++;
}

【讨论】:

  • 你错了,OP在询问换行符。使用 break 将在满足条件后简单地退出代码。
  • 第五行之后的每一行之前都会有一个换行符。
【解决方案3】:

如果你想每隔 5 行休息一次,你可以使用模数:

if ($i % 5 == 0) { 
  // line break
}

【讨论】:

    【解决方案4】:
    $n = 0;
    foreach ($salary_tbl as $key=>$value) {
        echo "<span class=\"year\">$key</span><input class=\"margin_r36\" type=\"radio\" value='$value' name='salary_tbl' />";
        if($n % 5 == 0){
            echo "<br />";
        }
        $n++;
    }
    

    【讨论】:

    • 第一行之后会有一个换行符。
    【解决方案5】:

    如果我是对的,您希望每 5 个单选按钮重复一次中断。您可以使用模数。如果计数可以被 0 整除(即它的 5 10 15 20...),那么我们添加一个中断

    $count=0;
    foreach ($salary_tbl as $key=>$value) {
    if($count and $count%5==0) echo "<br/>";
    echo "<span class=\"year\">$key</span><input class=\"margin_r36\" type=\"radio\" value='$value' name='salary_tbl' /><br />";
    $count++;
     }
    

    【讨论】:

      猜你喜欢
      • 2020-09-16
      • 1970-01-01
      • 1970-01-01
      • 2021-09-23
      • 1970-01-01
      • 2014-06-19
      • 1970-01-01
      • 1970-01-01
      • 2015-06-26
      相关资源
      最近更新 更多