如何在一个PHP中将数组与日期合并

时间:2015-05-04 14:05:45

标签: php arrays

我有以下数组

trans

具有相同的日期。我想创建一个multidimentional数组,其中day1包含5个数组。

我使用了Array ( [5/4/2015 5:00:00 AM] => Array ( [DATEHRGMT] => 5/4/2015 5:00:00 AM [DATEHRLWT] => 5/4/2015 12:00:00 AM [TSFC_F] => 51.8 [TDEW_F] => 42.7 [TWET_F] => 47.1 [RH_PCT] => 71 [PSFC_MB] => 1013.2 [CLDCOV_PCT] => 1 [TWC_F] => 49.0 [TAPP_F] => 49.0 [SPD_KTS] => 7 [DIR_DEG] => 210 [PCPPREVHR_IN] => 0.00 [DNSOL_WSQM] => 0 [DIFFHORZ_WSQM] => 0 [DIRNORMIR_WSQM] => 0 [SPD_MPH] => 8 ) [5/4/2015 6:00:00 AM] => Array ( [DATEHRGMT] => 5/4/2015 6:00:00 AM [DATEHRLWT] => 5/4/2015 1:00:00 AM [TSFC_F] => 50.0 [TDEW_F] => 42.7 [TWET_F] => 46.3 [RH_PCT] => 76 [PSFC_MB] => 1013.2 [CLDCOV_PCT] => 1 [TWC_F] => 47.0 [TAPP_F] => 47.0 [SPD_KTS] => 6 [DIR_DEG] => 220 [PCPPREVHR_IN] => 0.00 [DNSOL_WSQM] => 0 [DIFFHORZ_WSQM] => 0 [DIRNORMIR_WSQM] => 0 [SPD_MPH] => 7 ) . . . . . . . . [5/9/2015 4:00:00 AM] => Array ( [DATEHRGMT] => 5/9/2015 4:00:00 AM [DATEHRLWT] => 5/8/2015 11:00:00 PM [TSFC_F] => 49.1 [TDEW_F] => 37.4 [TWET_F] => 42.7 [RH_PCT] => 64 [PSFC_MB] => 1022.5 [CLDCOV_PCT] => 68 [TWC_F] => 46.3 [TAPP_F] => 46.3 [SPD_KTS] => 6 [DIR_DEG] => 120 [PCPPREVHR_IN] => 0.00 [DNSOL_WSQM] => 0 [DIFFHORZ_WSQM] => 0 [DIRNORMIR_WSQM] => 0 [SPD_MPH] => 7 ) [5/9/2015 5:00:00 AM] => Array ( [DATEHRGMT] => 5/9/2015 5:00:00 AM [DATEHRLWT] => 5/9/2015 12:00:00 AM [TSFC_F] => 49.3 [TDEW_F] => 36.8 [TWET_F] => 42.4 [RH_PCT] => 62 [PSFC_MB] => 1022.4 [CLDCOV_PCT] => 73 [TWC_F] => 46.7 [TAPP_F] => 46.7 [SPD_KTS] => 5 [DIR_DEG] => 120 [PCPPREVHR_IN] => 0.00 [DNSOL_WSQM] => 0 [DIFFHORZ_WSQM] => 0 [DIRNORMIR_WSQM] => 0 [SPD_MPH] => 6 ) ) array_push,但我无法创建这个。有人可以告诉我怎么才能得到这个?

我也用过这个

array_merge

更新

我想要这样的输出

foreach($response as $key2=>$weather)
        {
            //echo "<pre>"; print_r($weather);
            if($weather['level']==3)
            {
                $date=$weather['attributes']['DATEHRGMT'];
                $response2[$date]=$weather['attributes'];
            }   

        }
        echo "<pre>"; print_r($response2);

1 个答案:

答案 0 :(得分:3)

这应该适合你:

只需explode()您的密钥并使用日期作为索引,如下所示:

<?php

    $result = [];   

    foreach($arr as $k => $v)
        $result[explode(" ", $k)[0]][] = $v;

    print_r($result);

?>