PHP - 数组和Div?

时间:2013-09-06 18:07:24

标签: php html

如何根据其值来.$i. div id?

当我检查来源时,div id始终为ImgDiv- 0,我该如何制作1,2,3?

顺便说一下,这段代码生成了3个div。这只是代码的一部分。 printf在最后,我只需要编辑这个块。

如果您需要其余代码,我会很乐意发布

这些解决方案都不起作用:(也许如果我发布完整代码?

<?php
$max = 3;
for ($i=0; $i<= $max; $i++) {
define('RANDOM_IMAGES_COUNT2',3);
define('RANDOM_IMAGES_FORMAT2', '<div id="imgDiv-' .$i. '"style="width:170px;height:auto;float:left;text-align:center;top"><img src="%s" style="border-style:solid;border-width:2px;   border-color:black;"/><a href="%s" alt="%s" title2="%s">%s</a></div>');
}
#------------------------------------------------------------------------------

$images = array (
array ( 'title2' => 'Test 2', 'src2' => 'pic2.jpg', 'href2' => 'http://mylink.com/path/','text2' => 'Hello' ),
array ( 'title2' => 'Test 2', 'src2' => 'pic7.jpg', 'href2' => 'http://mylink.com/path/','text2' => 'Hello2' ),
array ( 'title2' => 'Test 2', 'src2' => 'pic9.jpg', 'href2' => 'http://mylink.com/path/','text2' => 'Hello2' ), 
array ( 'title2' => 'Test 2', 'src2' => 'pic5.jpg', 'href2' => 'http://mylink.com/path/','text2' => 'Hello2' ),     
array ( 'title2' => 'Test 2', 'src2' => 'pic3.jpg', 'href2' => 'http://mylink.com/path/','text2' => 'Hello3' )
);

#------------------------------------------------------------------------------

if ( count($images) < RANDOM_IMAGES_COUNT2 ) {
trigger_error('Not enough images given', E_USER_WARNING);
exit;
}

#------------------------------------------------------------------------------

for ($i = 0; $i < RANDOM_IMAGES_COUNT2; $i++) {
shuffle($images);

$tmp = array_shift($images);
printf( RANDOM_IMAGES_FORMAT2, $tmp['src2'], $tmp['href2'], $tmp['title2'], $tmp['title2'],$tmp['text2'] );    }
?>

1 个答案:

答案 0 :(得分:3)

我认为问题可能在于你没有正确使用for循环。

For循环具有以下语法:

for (expr1; expr2; expr3)
    statement

其中

  • expr1在循环之前无条件执行。
  • 在迭代之前评估
  • expr2,如果评估呈现true,则执行该语句。
  • expr2在每个循环结束时执行。

因此,请尝试

<?php
$max = 3;
for ($i=0; $i<= $max; $i++) {
    define('RANDOM_IMAGES_COUNT2',3);
    define('RANDOM_IMAGES_FORMAT2', '<div id="imgDiv-' .$i. '"style="width:170px;height:auto;float:left;text-align:center;top"><img src="%s" style="border-style:solid;border-width:2px;   border-color:black;"/><a href="%s" alt="%s" title2="%s">%s</a></div>');
}
?>

如果你知道应该出现的div数量,只需取出$max并使用修正号码:)

编辑:for循环的更多信息:Control Structures - php.net