每12个图像的PHP div
我有一段代码:每12个图像的PHP div,php,foreach,flickr,Php,Foreach,Flickr,我有一段代码: <? include( "http://api.flickr.com/services/feeds/photos_public.gne?id=22352410@N07&lang=en-us&format=php" ); $i = 0; foreach($feed['items'] as $item) { preg_match("/<img src=\"([^\"]+)\" .*? \/>/", $item['description
<?
include( "http://api.flickr.com/services/feeds/photos_public.gne?id=22352410@N07&lang=en-us&format=php" );
$i = 0;
foreach($feed['items'] as $item) {
preg_match("/<img src=\"([^\"]+)\" .*? \/>/", $item['description'], $matches);
$img_html = $matches[0];
$img_src = $matches[1];
$medium_url = ereg_replace("_m", "_s", $img_src);
echo "$img_html";
}
?>
我如何使每N张图片出现在
例如:
<div class="container">
<img src="1.jpg" />
<img src="2.jpg" />
<img src="3.jpg" />
<img src="4.jpg" />
<img src="5.jpg" />
<img src="6.jpg" />
<img src="7.jpg" />
<img src="8.jpg" />
<img src="9.jpg" />
<img src="10.jpg" />
<img src="11.jpg" />
<img src="12.jpg" />
</div>
<div class="container">
<img src="13.jpg" />
<img src="14.jpg" />
<img src="15.jpg" />
<img src="16.jpg" />
<img src="17.jpg" />
<img src="18.jpg" />
<img src="19.jpg" />
<img src="20.jpg" />
<img src="21.jpg" />
<img src="22.jpg" />
<img src="23.jpg" />
<img src="24.jpg" />
</div>
等等
有什么想法吗
非常感谢 您可以使用
%12
进行检查。在循环中添加一个计数器$j
,在每个循环中递增$j
当$j%12===0
时,您必须通过添加
来更改div
不要忘记第一个和最后一个
标记。您有一个$i=0
,但您没有使用它。也没有12行分页算法。在循环中的某个地方尝试一下$i++
,然后考虑在哪里插入if($i==12)
或if($i%12)
。对不起,我不打算用勺子喂。这是教科书中的一个基本问题。使用带有计数器的简单for循环代替foreach,然后在计数器上使用MOD来确定当前迭代是否可被N整除
国防部:
For循环:增加了其他人所说的内容
- 你应该经常检查报税表
使用前的
值preg_match
$match
已弃用。使用ereg\u replace
。既然你是 只是做一个文本替换,你呢 应使用preg_替换
str\u替换
- 应该这样做
<?
include( "http://api.flickr.com/services/feeds/photos_public.gne?id=22352410@N07&lang=en-us&format=php" );
$i = 0;
echo "<div class='container'>";
foreach($feed['items'] as $item)
{
if($i % 12 === 0)
print "</div><div class='container'>";
preg_match("/<img src=\"([^\"]+)\" .*? \/>/", $item['description'], $matches);
$img_html = $matches[0];
$img_src = $matches[1];
$medium_url = ereg_replace("_m", "_s", $img_src);
echo "$img_html";
$i++;
}
print "</div>";
?>
关于双div:将检查计数器递增语句下方是否有余数的if语句向下移动,它将不会创建双div:
<?
include( "http://api.flickr.com/services/feeds/photos_public.gne?id=22352410@N07&lang=en-us&format=php" );
$i = 0;
echo "<div class='container'>";
foreach($feed['items'] as $item)
{
preg_match("/<img src=\"([^\"]+)\" .*? \/>/", $item['description'], $matches);
$img_html = $matches[0];
$img_src = $matches[1];
$medium_url = ereg_replace("_m", "_s", $img_src);
echo "$img_html";
$i++;
if($i % 12 === 0)
print "</div><div class='container'>";
}
print "</div>";
?>
在进一步分析之前,您必须解析从URLNo返回的JSON,它包含一个双div:-)是的,更改为“if(!$i%12&&$i)”现在我只有一个div(其中包含12个图像中的更多个:-))