0

如果我有 50 个点的数组,每个点包含 5 张图像,我想以表格格式随机显示每个点。每行一个点(5 张图像),总共 50 行。不使用数据库!

<?php
$allImages = array('Image1.jpg','Image2.jpg','Image3.jpg','Image4.jpg');
echo '<table>';
// loop for 12 rows
for($j=0; $j<12; $j++) {
    echo '<tr>';
    // loop to make 5 columns, 1 column for each image
    for($i=0; $i<5; $i++) {
        echo '<td>';
        $img = $allImages[rand(0,3)];
        echo '<img src="'.$img.'">';
        echo '</td>';
    } echo '</tr>';
}
echo '</table>';

?>
4

2 回答 2

0

try this:

<?php

$allImages = array('Image1.jpg','Image2.jpg','Image3.jpg','Image4.jpg',
                   'Image2.jpg','Image3.jpg','Image4.jpg','Image2.jpg',
                   'Image3.jpg','Image4.jpg','Image2.jpg','Image3.jpg',
                   'Image4.jpg'); 
shuffle ( $allImages );
echo '<table><tr>'; 
for($j=0; $j<count($allImages); $j++) { 
  echo '<td>'; 
  echo '<img src="'.$allImages[$j].'">'; 
  echo '</td>'; 
  if(($j+1)%5==0) echo "</tr><tr>";
} 
echo '</tr></table>';

?>
于 2013-01-25T21:03:59.530 回答
0

这个怎么样?

<?php
$allImages = array(
        array ('Image01.jpg', 'Image02.jpg', 'Image03.jpg', 'Image04.jpg', 'Image05.jpg'),
        array ('Image11.jpg', 'Image12.jpg', 'Image13.jpg', 'Image14.jpg', 'Image15.jpg'),
        //.... So on upto 50 slots
        array ('Image501.jpg', 'Image502.jpg', 'Image503.jpg', 'Image504.jpg', 'Image505.jpg')
);

$spot_indexes = range(0,2,1); //in your case limit is 50
shuffle($spot_indexes);

foreach($spot_indexes as $index) {
    $spot_images = $allImages[$index];

    foreach($spot_images as $image) {
        echo '<img src ="' .$image. '" height="150px" width="100px" /> ' ;
    }
    echo '<br>';
}
?>
于 2013-01-25T21:20:33.377 回答