如何随机化相册中的图像

时间:2013-09-04 07:53:02

标签: php

我正在尝试制作图片库。在索引文件中,我想显示带有图像的相册,请参阅; http://www.robcnossen.nl/

我想将这些相册中的图片随机化,但我会收到各种各样的错误:

  

警告:rand()期望参数1为long,字符串在。

中给出

我的代码是;

foreach ($albums as $album) {
?><div><h2><?php
echo'<a href="view_album.php?album_id=', $album['id'],'">',$album['name'], '</a>';?>       </h2><?php       
    echo'<a href="view_album.php?album_id=', $album["id"],'"><img src="uploads/thumbs/', $album["id"], '/', $album["imagename"],'" title="" /></a>';
    ?></div><?php
}

$album["imagename"]是相册中的图片,我想将此部分随机化。我试过例如:

rand($album["imagename"], 0)

但这会产生错误。

我也试过洗牌;

foreach ($albums as $album) {
shuffle($album["imagename"]);
?><div><h2><?php
echo'<a href="view_album.php?album_id=', $album['id'],'">',$album['name'], '</a>';?></h2><?php      
    echo'<a href="view_album.php?album_id=', $album["id"],'"><img src="uploads/thumbs/', $album["id"], '/', $album["imagename"],'" title="" /></a>';
    ?></div><?php
}

但我也只有错误。

有人可以帮我吗?

var_dump($albums);  给出

array(2) {
   [0]=> array(8) { 
      ["id"]=> string(1) "8" 
      ["timestamp"]=> string(10) "1373890251" 
      ["name"]=> string(7) "Holland" 
      ["description"]=> string(19) "Fantastische foto's" 
      ["count"]=> string(1) "2" 
      ["imagename"]=> string(38) "KONICA MINOLTA DIGITAL CAMERA_428.jpeg" 
      ["image"]=> string(2) "63" 
      ["ext"]=> string(0) ""
   } 
   [1]=> array(8) { 
      ["id"]=> string(1) "9" 
      ["timestamp"]=> string(10) "1376914749" 
      ["name"]=> string(6) "Belgie" 
      ["description"]=> string(11) "Mooi Belgie" 
      ["count"]=> string(1) "2" 
      ["imagename"]=> string(12) "PICT0170.JPG" 
      ["image"]=> string(2) "66" 
      ["ext"]=> string(0) "" 
   }
  }

结果。

2 个答案:

答案 0 :(得分:0)

shuffle应该适合您,但如果您将放在 foreach循环中,就像示例代码一样。您需要在开始循环之前随机播放。此外,需要使用数组本身调用shuffle,而不是数组的项目:

shuffle($albums);
foreach ($albums as $album) {
    ...
}

答案 1 :(得分:0)

你应该把数组放在循环旁边

<?php
 shuffle($albums);
 foreach ($albums as $album) 
 {
  ?><div><h2>
 <?php
  echo'<a href="view_album.php?album_id=', $album['id'],'">',$album['name'], '</a>';
  ?>
  </h2>
  <?php      
      echo'<a href="view_album.php?album_id=', $album["id"],'"><img src="uploads/thumbs/', $album["id"], '/', $album["imagename"],'" title="" /></a>';
  ?>
  </div>
  <?php
 }