php - 如何在 PHP 中执行水平循环

标签 php css loops

下面的当前循环产生的结果是这样的:

<?php  
    foreach ($response->items->item as $value) {
        echo("<img src='".$value->imageUrl."' width=200><br>");
        echo($value->description."<br>");
        echo($value->url."<br>");
    };

?>

//结果

<1st row>
(image)
description
(url)
</end 1st row>

<2nd row>
(image)
description
(url)
</end 2nd row>

<3rd row>
(image)
description
(url)
</end 3rd row>

我需要完成的是循环结果,使每个元素从左到右水平。例如

 <1st col>                 <2nd col>              <3rd col>
 (image)                   (image)                (image)
 description               description            description
 (url)                     (url)                  (url)
 </end 1st col>            </end 2nd col>         </end 3rd col>

条件应该是:

  1. 如上所示,每一行只能有 3 列,如右上所示。
  2. 当有更多元素时,每个元素将显示在下一行,就像它在第一行的显示方式一样。

什么是元素?

一个元素包括:

 (image)
 description
 (url)

有多少元素?

最多可达20个或更多。

end of question

好了,各位,问题结束。希望得到帮助,这是有效的。

最佳答案

你可以做很多事情来完成它。最好的方法(我认为..)是创建一个 UL 并打破每三个元素:

<ul>
<?php
$i = 0;
foreach ($response->items->item as $value) : ?>
<li<?php if ( $i % 3 == 0 ) echo ' class="break"' ?>>
    <?php echo "<img src='".$value->imageUrl."' width=200><br>"; ?>
    <?php echo $value->description ?>
</li>
<?php $i++; // Increment counter
endforeach ?>
</ul>

然后需要在.break元素中指定这个列表必须是横排的,并指定换行:

<style>
ul li {
    float:left;
}
ul li.break {
    clear: right;
}
</style>

关于php - 如何在 PHP 中执行水平循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5002138/

相关文章:

php - 是否所有输入字段都容易受到 sql 注入(inject)的攻击?

php - 链接两个 Controller get() cakephp

mysql - SQL在聚合函数的循环中获取列名

Java - 如何提高空间效率?

php - AJAX 调用破坏了 .droppy() 导航栏扩展

PHP - 如何修改对象数组中的category_name和subcategory_name?

javascript - 如何使用 jQuery 使 DOM 对象遵循循环路径?

CSS3 变换、倾斜和旋转

javascript - 使用溢出:auto to disable momentum scrolling?后如何获取滚动方向

c++ - 错误是什么?Q-确定并打印给定 n 值的以下谐波级数之和。(1+1/2+1/3+........+1/n)