Помощь в доступе к этому многомерному массиву - PullRequest
1 голос
/ 02 июля 2011

у меня есть этот массив

    Array
(
    [disc-art] => Array
        (
            [original] => upload/c/4/c4eea45ce0f5e8d5698f5ff2d18b4566.jpg
            [preview] => Array
                (
                    [dvd-disc] => upload/c/4/d_disc_c4eea45ce0f5e8d5698f5ff2d18b4566.jpg
                )

        )

    [cover-art] => Array
        (
            [original] => upload/7/2/72bb5a03708c99c822a792c76c00e8d1.jpg
            [preview] => Array
                (
                    [dvd-cover] => upload/7/2/d_cover_72bb5a03708c99c822a792c76c00e8d1.jpg
                    [dvd-spine] => upload/7/2/d_spine_72bb5a03708c99c822a792c76c00e8d1.jpg
                    [dvd-back] => upload/7/2/d_back_72bb5a03708c99c822a792c76c00e8d1.jpg
                )

        )

    [insert-art] => Array
        (
            [original] => upload/b/1/b1f8e49d77121c01011acaa90cabc8ee.jpg
            [preview] => Array
                (
                    [dvd-insert] => upload/b/1/d_insert_b1f8e49d77121c01011acaa90cabc8ee.jpg
                )

        )

    [boxshot] => Array
        (
            [preview] => Array
                (
                    [boxshot] => upload/7/2/d_boxshot_72bb5a03708c99c822a792c76c00e8d1.jpg
                )

        )

)

Я хочу вернуть массив, который обращается к каждому preview и получает содержимое

array('dvd-disc' => '...path...', 'dvd-cover' => '...path...', etc...)

Пожалуйста, помогите, это был долгий день, и я хочу домой! :)

EDIT:

Исправление - я хочу, чтобы мой окончательный массив выглядел следующим образом ...

array(
    'dvd-disc' => '<img src="'.$path.'" alt="'.$type.'" />',
    'dvd-cover' => '<img src="'.$path.'" alt="'.$type.'" />', 
    etc...
);

, где $path - это значение каждого вложенного значения preview's, а $ type - это значение каждого вложенного ключа preview's

.

Ответы [ 2 ]

3 голосов
/ 02 июля 2011
$new_array = array();
foreach($main_array as $sub_array)
{
   if(isset($sub_array['preview']))
   {
       foreach($sub_array['preview'] as $type => $image_url)
       {
           $new_array[$type] = '<img src="'.$image_url.'" alt="'.$type.'" />';
       }
   }
}
2 голосов
/ 02 июля 2011
// (the array you are bring in is $mainArray)

// New array we'll be creating
$previewPaths = array()

foreach ($mainArray as $item) {

    foreach ($item['preview'] as $previewName => $previewPath) {

        $previewPaths[$previewName] = '<img src="'.$previewPath.'" alt="'.$previewName.'" />',;

    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...