0

次のような配列を生成しようとしています。

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">'
)

現在、次のようにネストされた 2 つの 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">'
)

どうすればこれを修正できますか?

最終的に、私がやりたいことは、各アルバムから 1 つのランダムなサムネイルをページの下にエコーすることです...誰かがそれを行う方法について詳しく説明できれば、私は感謝しますが、配列を取得できれば好きなように作業すれば、おそらくそれを行う方法を理解できるでしょう(使用する必要があることはわかっていますarray_rand())。

ありがとう!

4

1 に答える 1

1

PHP の配列は、実際にはキーと値の間のマッピングです。キーは一意である必要があります。したがって、あなたは持つことができません

  [Album1] => '<img src="album1_thumb1.jpg">'
  [Album1] => '<img src="album1_thumb2.jpg">'

ニーズを満たすために別のデータ構造を考える必要があります

于 2013-11-09T08:20:19.767 に答える