我使用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>
这是我的第一篇文章,代码可能很尴尬。谢谢你的帮助。
答案 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>';
}
}