【发布时间】:2013-09-07 15:11:32
【问题描述】:
我正在尝试制作图片库。在索引文件上,我想显示带有图像的专辑,请参阅; http://www.robcnossen.nl/
我想随机化这些相册中的图像,但我得到了各种各样的错误,例如:
警告:rand() 期望参数 1 很长,给出的字符串。
我的代码是;
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) ""
}
}
结果。
【问题讨论】:
-
并将随机播放应用于数组而不是该数组的单个值。
-
@Robske:我们希望对特定 PHP 函数有问题的用户在手册中阅读该函数,然后解释为什么他们认为他们的代码应该工作。 “不工作”不是问题。而且您尝试了多种方法很好,并且通常是预期的。
-
什么是
$albumsbtw?请在您的问题中添加纯文本var_export($albums);和var_dump($albums);。 -
我首先查看了 php.net/shuffle 和其他有关 rand() 和 shuffle 的网站,这就是为什么我认为我使用 shuffle 做正确的事情,但问题是 $album[ "imagename"] 不被视为一个数组,但它在 foreach 循环中。我已经尝试了这里给出的所有解决方案,但都给出了错误,我不知道为什么......
标签: php