Manoj Dhiman
Manoj Dhiman

Reputation: 5166

How can i merge the array with date in one php

I have the following array

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
        )

)

with same date . I want to create a multidimentional array in which day1 contains 5 array in it with times.

I have used array_push array_merge but i am not able to create this one . can some one tell me how can i get this ??

I also used this

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

Update

i want output like this

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
        )

      )

)

Upvotes: 2

Views: 58

Answers (1)

Rizier123
Rizier123

Reputation: 59681

This should work for you:

Just explode() your key and use the date as index, like this:

<?php

    $result = [];   

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

    print_r($result);

?>

Upvotes: 3

Related Questions