【问题标题】:How to loop $num in php, e.g. 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4,如何在 php 中循环 $num,例如1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4,
【发布时间】:2015-04-01 18:47:42
【问题描述】:

我正在使用 PHP 中的 $num 将类应用于页面上的元素。

所以我有:

<?php $num = 0; ?>

<div class="<?php print ++$num; ?>"></div>

我有 16 个 div,但我不希望类一直到 16。我希望它们上升到 4,然后再降到 1。所以我希望类为:

1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4

而不是

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16

谁能给我一些见解?

非常感谢!

【问题讨论】:

标签: php arrays loops integer


【解决方案1】:

这应该可以解决。

<div class="<?php echo ($num++ % 4) + 1; ?>"></div>

(已编辑)

纯 PHP 代码。使用此逻辑来解决您的需求。

<?php 
$num = 0; 
while($num < 16){
    echo ($num++ % 4) + 1; 
}
?>

这给了

1234123412341234

【讨论】:

  • 不会打印 0,1,2,3,0,1,2,3,0,1,2,3,不是他要求的:1,2,3,4 ,1,2,3,4,1,2,3,4 ?
  • @kainaw 是对的……这会打印 0。有没有办法在 1 开始新的循环?不过感谢您的代码...半途而废!
  • @caustic 你完全忽略了我上面的评论吗?如果你有一个 0 而你想要一个 1,只需使用 +1。它神奇地添加了一个。
  • @kainaw - 对不起,我错过了你的评论!无论如何,我刚刚尝试过,是的,它确实加了 1,但还有另一个问题。第一个数字打印为 2 而不是 1,但在打印后的循环首先是数字 1。我做错了什么?
  • 你不需要初始化为-1,保持为0。但是您所要做的就是将++$num 更改为$num++
【解决方案2】:

我猜是这样的:

<?php
$num = 0;
while($num<4) {
$num++;
   echo "<div class='".$num."'></div>";
   if ($num==4) {
   $num=0;
}
}

?>

【讨论】:

    猜你喜欢
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    • 2020-02-06
    相关资源
    最近更新 更多