2015-02-23 2 views
1

У меня есть многомерный массив $outputпостроить отдельные массивы из многомерного массива в PHP

Array 
( 
    [2015-02-23] => 
     Array 
     ( 
      [0] => Array ([timestamp] => 2015-02-23T16:00:00 [temp] => -7 [time] => 16) 
      [1] => Array ([timestamp] => 2015-02-23T19:00:00 [temp] => -13 [time] => 19) 
      [2] => Array ([timestamp] => 2015-02-23T22:00:00 [temp] => -16 [time] => 22) 
     ) 
    [2015-02-24] => 
     Array 
     ( 
      [0] => Array ([timestamp] => 2015-02-24T01:00:00 [temp] => -18 [time] => 01) 
      [1] => Array ([timestamp] => 2015-02-24T04:00:00 [temp] => -19 [time] => 04) 
      [2] => Array ([timestamp] => 2015-02-24T07:00:00 [temp] => -19 [time] => 07) 
      [3] => Array ([timestamp] => 2015-02-24T10:00:00 [temp] => -14 [time] => 10) 
      [4] => Array ([timestamp] => 2015-02-24T13:00:00 [temp] => -10 [time] => 13) 
      [5] => Array ([timestamp] => 2015-02-24T16:00:00 [temp] => -8 [time] => 16) 
      [6] => Array ([timestamp] => 2015-02-24T19:00:00 [temp] => -10 [time] => 19) 
      [7] => Array ([timestamp] => 2015-02-24T22:00:00 [temp] => -8 [time] => 22) 
     ) 
    [2015-02-25] => 
     Array 
     ( 
      [0] => Array ([timestamp] => 2015-02-25T01:00:00 [temp] => -6 [time] => 01) 
     ) 
) 

Как я могу создавать новые массивы из подмассивов? Так что

$output_0:

Array 
    ( 
     [0] => Array ([timestamp] => 2015-02-23T16:00:00 [temp] => -7 [time] => 16) 
     [1] => Array ([timestamp] => 2015-02-23T19:00:00 [temp] => -13 [time] => 19) 
     [2] => Array ([timestamp] => 2015-02-23T22:00:00 [temp] => -16 [time] => 22) 
    ) 

$output_1:

Array 
    ( 
     [0] => Array ([timestamp] => 2015-02-24T01:00:00 [temp] => -18 [time] => 01) 
     [1] => Array ([timestamp] => 2015-02-24T04:00:00 [temp] => -19 [time] => 04) 
     [2] => Array ([timestamp] => 2015-02-24T07:00:00 [temp] => -19 [time] => 07) 
     [3] => Array ([timestamp] => 2015-02-24T10:00:00 [temp] => -14 [time] => 10) 
     [4] => Array ([timestamp] => 2015-02-24T13:00:00 [temp] => -10 [time] => 13) 
     [5] => Array ([timestamp] => 2015-02-24T16:00:00 [temp] => -8 [time] => 16) 
     [6] => Array ([timestamp] => 2015-02-24T19:00:00 [temp] => -10 [time] => 19) 
     [7] => Array ([timestamp] => 2015-02-24T22:00:00 [temp] => -8 [time] => 22) 
    ) 

$output_2:

Array 
    ( 
     [0] => Array ([timestamp] => 2015-02-25T01:00:00 [temp] => -6 [time] => 01) 
    ) 

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

$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($output)); 
foreach ($iterator as $value) { 

    print strtoupper($value) . " <br>"; 

} 

ответ

1
$output_0 = $output['2015-02-23']; 
$output_1 = $output['2015-02-24']; 
$output_2 = $output['2015-02-25']; 

Но я не понимаю, что смысл делать это.

Вы также можете использовать $output = array_values($output);. Это дает вам $output[0], $output[1] и $output[2].

+0

Отличное дополнение к вашему ответу - вы, кажется, читаете мой разум. Дата изменится, поэтому я не могу знать это заранее. Я не думал о том, как «array_values» индексирует массив численно. Это решает мою проблему. Благодаря! –

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