2013-11-09 2 views
0

Я пытаюсь создать массив, который выглядит следующим образом:Загрузить массив через вложенные петли foreach в PHP?

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

Сейчас у меня есть два вложенных цикла по каждому элементу, которые выглядят следующим образом:

$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 работать так, как хотелось бы, тогда я, вероятно, смогу выяснить, как это сделать (я знаю, что мне нужно использовать array_rand()).

Спасибо!

ответ

1

Массив в PHP - это действительно сопоставление между ключом и значением. Ключ должен быть уникальным. Поэтому вы не можете иметь

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

Вы должны думать о другой структуре данных для удовлетворения вам нужно

Смежные вопросы