2013-10-02 3 views
-2

Есть цикл do-while, который для каждого нового прохода создает новый массив.Как объединить несколько многомерных массивов?


делать-то время цикл:

$i = 0; 
do { 
    // Create an array of data from the response 
     $array_data = array(); 

     foreach ($response['data'] as $data) { 
      $created_time = $data['created_time'];    
      $thumbnail = $data['images']['thumbnail']['url']; 
      $tags_name = $get_TagIMG; 

      $array_data[] = array 
      (
       'DATE_PIC' => $created_time, 
       'LINK_PIC' => $thumbnail, 
       'TAG_PIC' => $tags_name, 
      ); 
     } 
    $i++; 

    } while ($i < 5); 

После окончания цикла, мы получаем пять массивов, такие как следующие:

Array (
    [0] => Array ([DATE_PIC] => 1380488912 [LINK_PIC] => http://distilleryimage0.s3.amazonaws.com/4c39144e294b11e3bef022000a1f9245_5.jpg [TAG_PIC] => pricelessmoscow) 
) 

Array (
    [1] => Array ([DATE_PIC] => 1380489222 [LINK_PIC] => http://distilleryimage5.s3.amazonaws.com/04ca9032294c11e3b53822000a1f96e6_5.jpg [TAG_PIC] => pricelessmoscow) 
) 

Array (
    [2] => Array ([DATE_PIC] => 1380492460 [LINK_PIC] => http://distilleryimage9.s3.amazonaws.com/8e755dd8295311e3a53722000aeb43de_5.jpg [TAG_PIC] => pricelessmoscow) 
) 

Array (
    [3] => Array ([DATE_PIC] => 1380718591 [LINK_PIC] => http://distilleryimage5.s3.amazonaws.com/0f8bcf142b6211e3982822000ae90f30_5.jpg [TAG_PIC] => pricelessmoscow) 
) 

Array (
    [4] => Array ([DATE_PIC] => 1380717412 [LINK_PIC] => http://distilleryimage7.s3.amazonaws.com/507c69fa2b5f11e3a7d422000a9e0846_5.jpg [TAG_PIC] => pricelessmoscow) 
) 

Вопрос: Как объединить эти массивы в один?


результат должен быть что-то вроде:

Array (
    [0] => Array ([DATE_PIC] => 1380488912 [LINK_PIC] => http://distilleryimage0.s3.amazonaws.com/4c39144e294b11e3bef022000a1f9245_5.jpg [TAG_PIC] => pricelessmoscow) 
    [1] => Array ([DATE_PIC] => 1380489222 [LINK_PIC] => http://distilleryimage5.s3.amazonaws.com/04ca9032294c11e3b53822000a1f96e6_5.jpg [TAG_PIC] => pricelessmoscow) 
    [2] => Array ([DATE_PIC] => 1380492460 [LINK_PIC] => http://distilleryimage9.s3.amazonaws.com/8e755dd8295311e3a53722000aeb43de_5.jpg [TAG_PIC] => pricelessmoscow) 
    [3] => Array ([DATE_PIC] => 1380718591 [LINK_PIC] => http://distilleryimage5.s3.amazonaws.com/0f8bcf142b6211e3982822000ae90f30_5.jpg [TAG_PIC] => pricelessmoscow) 
    [4] => Array ([DATE_PIC] => 1380717412 [LINK_PIC] => http://distilleryimage7.s3.amazonaws.com/507c69fa2b5f11e3a7d422000a9e0846_5.jpg [TAG_PIC] => pricelessmoscow) 
) 
+0

Вы имеете в виду, у вас есть 5 массивов в $ array_data, что у вас есть var_dumped? Как вы хотите их комбинировать? – user4035

+1

Вы уверены, что этот конкретный листинг содержит эту конкретную ситуацию?!? – geomagas

+0

@ user4035 дополняет вопрос –

ответ

0

Ваш исходный код кажется правильным, что именно то, что вы работаете?

И, если вы хотите перейти на все объекты, а не только N, вы можете использовать foreach():

<?php 

    // used to populate 
    $sourceData = array(1,2,3); 

    // array of arrays 
    $data = array(); 

    foreach($sourceData as $val) 
    { 
     $data[] = array("date" => "date_" . $val, 
         "link" => "link_" . $val, 
         "tag" => "tag_" . $val); 
    } 

    var_dump($data);  

?> 

Выходы:

array(3) { 
    [0]=> 
    array(3) { 
    ["date"]=> 
    string(6) "date_1" 
    ["link"]=> 
    string(6) "link_1" 
    ["tag"]=> 
    string(5) "tag_1" 
    } 
    [1]=> 
    array(3) { 
    ["date"]=> 
    string(6) "date_2" 
    ["link"]=> 
    string(6) "link_2" 
    ["tag"]=> 
    string(5) "tag_2" 
    } 
    [2]=> 
    array(3) { 
    ["date"]=> 
    string(6) "date_3" 
    ["link"]=> 
    string(6) "link_3" 
    ["tag"]=> 
    string(5) "tag_3" 
    } 
} 
+0

и как консолидировать мои массивы? не совсем уверен ... –

+0

@archi_sova: Не уверен, что вы просите. Это массив массивов в моем примере. – Josh

+0

Как подать заявку на мой пример?) –

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