如何根据其值来.$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'] ); }
?>
答案 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