16

我有一个名为的字符串$columns,它动态地获取一个从 1 到 7 的值。我想创建一个 for 的循环,<td></td>不管它的值$columns是多少倍。知道我该怎么做吗?

4

10 回答 10

38
for ($k = 0 ; $k < $columns; $k++){ echo '<td></td>'; }
于 2013-02-03T11:44:01.300 回答
38

这是实现此目的的更易读的方法:

foreach(range(1,$columns) as $index) {
   //do your magic here
}
于 2016-11-21T03:34:16.647 回答
5

如果您只需要使用重复次数:

for ($i = 0; $i < 5; $i++){
    // code to repeat here
}
于 2020-10-28T17:25:38.970 回答
3

我喜欢这种方式:

while( $i++ < $columns ) echo $i;

请记住,如果$columns是 5,这将运行 5 次(不是 4 次)。

编辑:这里的初始状态似乎有些混乱$i$i=0如果您愿意,欢迎您提前初始化。但是这不是必需的,因为 PHP 是一个非常有用的引擎,并且会自动为您执行此操作(但是,如果您碰巧启用了这些引擎,它会发出通知)。

于 2019-02-15T10:14:30.187 回答
2

如果$columns是 a string,您可以转换为int并使用简单的 for 循环

for ($i=1; $i<(int)$columns; $i++) {
   echo '<td></td>';
}
于 2013-02-03T11:43:04.780 回答
2

PHP中有一个str_repeat()函数,可以多次重复一个字符串。您的问题的解决方案是: str_repeat( '<td></td>', $columns );

于 2021-12-10T19:33:32.840 回答
1

for循环将起作用:

for ($i = 0; $i < $columns; $i++) {
    ...
}
于 2013-02-03T11:42:25.607 回答
1

只是重复 $n 次?...如果不介意 $n 倒退...优点是您可以在开头看到/配置“次”

$n = 5;
while (--$n >= 0)
{
  // do something, remember that $n goes backwards;
}
于 2020-07-06T06:50:56.980 回答
0

您可以轻松地通过 for 循环运行它来实现这一点

$myData = array('val1', 'val2', ...);

for( $i = 0; $i < intval($columns); $i++)
{
    echo "<td>" . $myData[$i] . "</td>";
}
于 2013-02-03T11:43:18.443 回答
0

为什么要使用逻辑,不要浪费那些 CPU 周期!

<td colspan="<?php echo $columns; ?>"></td>
于 2021-12-10T19:50:20.150 回答