php - 我怎样才能将数组与日期合并到一个php中

标签 php arrays

我有以下数组

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
        )

)

日期相同。我想创建一个多维数组,其中 day1 包含 5 个带有时间的数组。

我已经使用了 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);

更新

我想要这样的输出

Array
(
    [5/4/2015]=>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/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
        )

      )

)

最佳答案

这应该适合你:

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

<?php

    $result = [];   

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

    print_r($result);

?>

关于php - 我怎样才能将数组与日期合并到一个php中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30032186/

相关文章:

php - 为什么这个 PDO 语句会默默地失败?

arrays - 如何将 [ ][2]string 转换为 map[string] 中的字符串?

javascript - Krajee Bootstrap fileinput 如何动态更改 uploadExtraData

php - Zend 框架 MySQL 更新

php - php Singleton 类实例会在多个 session 中保留吗?

不能使用 const 全局变量作为数组号。结构体中的元素数量

python - 如何在 Python 中对数组的列求和

无法在C中正确获取数组的大小

java - CipherOutputStream 无法写入 ByteArrayOutputStream

php - 当我用 PDO 重写我的代码时,计数不起作用