如何将PHP中收到的数据分类为html中的3个不同的div标签?

时间:2016-06-19 05:41:22

标签: javascript php html css bootstrap-modal

我使用php来收集我的Instagram Feed但是所有使用instagram api收集的图片都放在同一个位置(或同一个div),所以我收到了我的图片

<?php foreach ($result->data as $post): ?>
<div class="images">
<!-- Renders images. @Options (thumbnail,low_resoulution,high_resolution)-->
<a class="group" rel="group1" href="<?= $post->images->standard_resolution->url ?>"><img src="<?= $post->images->thumbnail->url ?>"></a>
<?php endforeach ?> </div>

因此收集的所有图像都会变成链接,并且全部放在div图像中,所以我想要做的就是使用php或js将收到的所有20张图像均匀分配到这3个不同的div中。

<div class="col-md-4"></div>,
<div class="col-md-4"></div>,
<div class="col-md-4"></div>

这是我的第一篇文章,代码可能很尴尬。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

好吧,我已经开始并建立了一个合适的完整解决方案。它的工作原理是首先构建一个响应对象数组,然后将它们分块以供显示。如果你想将它们分开,你肯定需要将它们放入子缓冲区,就像你在下面看到的$results缓冲区一样。

<?php 
    $results = array();
    foreach ($result->data as $post): 
        // Using output buffering as a simple means of building HTML.
        ob_start();
?>
    <a class="group" rel="group1" href="<?= $post->images->standard_resolution->url ?>">
        <img src="<?= $post->images->thumbnail->url ?>">
    </a>
<?php
        $results[] = ob_get_contents();
        ob_end_clean();
    endforeach;

    // Now we have an array of elements as HTML.  We'll chunk them
    // into 3 arrays.  We could also randomize or other things here.
    $chunked = array_chunk($results, 3);
?>
<div class="col-md-4"><?=implode("\n", $chunked[0])?></div>
<div class="col-md-4"><?=implode("\n", $chunked[1])?></div>
<div class="col-md-4"><?=implode("\n", $chunked[2])?></div>

答案 1 :(得分:0)

您需要拆分数组,然后在所需的div标签内迭代它。

示例:

<?php
$chunked = array_chunk($array, 3);

foreach ($chunked as $value) {
    foreach($value as $v) {
        echo '<div class="col-md-4">';
        print_r($v);
        echo '</div>';
    }
}