-4

我怎样才能使.$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'] );    }
?>
4

1 回答 1

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循环中的更多信息:控制结构 - php.net

于 2013-09-06T18:10:29.957 回答