简体   繁体   English

在php中从多维数组构建单独的数组

[英]Build separate arrays from multidimensional array in php

I have a multidimensional array $output 我有一个多维数组$output

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

How can I create new arrays from the subarrays? 如何从子数组创建新数组? So that 以便

$output_0 : $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 : $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 : $output_2

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

I have began with a recursive iterator but can't find the logic in how to build the new arrays from the values gathered with 我从递归迭代器开始,但是找不到如何从使用以下方法收集的值构建新数组的逻辑

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

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

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

But I don't understand what is point of doing that. 但是我不知道这样做的意义。

You can also use $output = array_values($output); 您还可以使用$output = array_values($output); . That gives you $output[0] , $output[1] and $output[2] . 这将为您提供$output[0]$output[1]$output[2]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM