PHP echo 三行?

发布于 2024-10-03 12:48:28 字数 265 浏览 10 评论 0原文

我试图以三行的形式显示数据,如下所示(请注意,项目数并不总是偶数):

<前>abcd defg hijk LMNO PQRS TUVW XYZ1 2345 6789 1011 1213

我正在努力寻找正确的逻辑来执行此操作(这是在 foreach() 循环中)。

我知道我必须有一些 if($i %3 == 0) 逻辑。但我有点卡住了。

有人可以帮我吗?

I am attempting to show data in rows of three like this (notice the number of items will not always be even):

abcd defg hijk
lmno pqrs tuvw
xyz1 2345 6789 
1011 1213

I am struggling to get the logic right to do this (this is in a foreach() loop).

I know I have to have some if($i %3 == 0) logic in there.. But I'm a bit stuck.

Can anyone help me out?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

∞梦里开花 2024-10-10 12:48:28
$a = array('abcd','defg','hijk','lmno');
for ($i = 0; $i < count($a); $i++) {
  if ($i && $i % 3 == 0)
    echo '<br />';
  echo $a[$i].' ';
}
$a = array('abcd','defg','hijk','lmno');
for ($i = 0; $i < count($a); $i++) {
  if ($i && $i % 3 == 0)
    echo '<br />';
  echo $a[$i].' ';
}
朱染 2024-10-10 12:48:28

最好使用 for 循环:

// run $i for each index in the array.
for($i=0 ; $i<count($arr) ; $i++) {

        // if $i is non-zero and is divisible by 3 print a line break.
        if ($i && $i % 3 == 0) {
                echo "<br />";
        }

        // print the element at index $i.
        echo $arr[$i].' ';
}

实际代码

It's better to use a for loop as:

// run $i for each index in the array.
for($i=0 ; $i<count($arr) ; $i++) {

        // if $i is non-zero and is divisible by 3 print a line break.
        if ($i && $i % 3 == 0) {
                echo "<br />";
        }

        // print the element at index $i.
        echo $arr[$i].' ';
}

Code in action

凉城 2024-10-10 12:48:28

伪代码,因为我不了解 PHP(并且您要求所有过程语言中的逻辑往往相同):

perline = 3
i = 0
foreach item in list:
    if i > 0 and (i % perline) == 0:
        print newline
    if (i % perline) != 0:
        print space
    print item
    i = i + 1

这都会在元素 3、6、9 等之前输出行分隔符(第一个元素是0) 在每行的第二个和第三个元素之前放置所需的任何间距。您只需为每行使用不同的值即可更改每行的数字输出。

Pseudo-code since I don't know PHP (and you asked for the logic which tends to be the same across all procedural languages):

perline = 3
i = 0
foreach item in list:
    if i > 0 and (i % perline) == 0:
        print newline
    if (i % perline) != 0:
        print space
    print item
    i = i + 1

This will both output a line separator before elements 3, 6, 9 and so on (first element being 0) and place whatever desired spacing you want before the second and third elements on each line. You can just use a different value for perline to change the number output on each line.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文