我正在尝试生成一个如下所示的数组:
Array
(
[Album1] => '<img src="album1_thumb1.jpg">'
[Album1] => '<img src="album1_thumb2.jpg">'
[Album2] => '<img src="album2_thumb1.jpg">'
[Album2] => '<img src="album2_thumb2.jpg">'
)
现在我有两个嵌套的 foreach 循环,如下所示:
$subfolders = glob($directory);
foreach($subfolders as $subfolder) {
$photos = glob($subfolder.'/*.[Jj][Pp][Gg]');
foreach($photos as $photo) {
$thumbnail = $subfolder.'/thumbs/'.$photoname[0].'_thumb.jpg';
$thumb = '<img src="'.$thumbnail.'" class="thumb_image">';
$folderthumbs[$subfolder] .= $thumb;
}
}
但是,这并不能完全满足我的需求,因为它基本上创建了一个如下所示的数组:
Array
(
[Album1] => '<img src="album1_thumb1.jpg"><img src="album1_thumb2.jpg">'
[Album2] => '<img src="album2_thumb1.jpg"><img src="album2_thumb2.jpg">'
)
我该如何纠正此问题?
最终,我想做的是让每个专辑中的一个随机缩略图在页面下方进一步回响......如果有人能详细说明如何做到这一点,我将不胜感激,尽管如果我能让数组按照我想要的方式工作,那么我可能会弄清楚如何做到这一点(我知道我需要使用 array_rand()
)。
谢谢!
PHP 中的数组实际上是键和值之间的映射。密钥必须是唯一的。因此你不能有
[Album1] => '<img src="album1_thumb1.jpg">'
[Album1] => '<img src="album1_thumb2.jpg">'
您需要考虑另一种数据结构来满足您的需求