将索引数组转换为关联数组

时间:2018-04-03 00:06:16

标签: php

我得到了这个索引数组,但是我需要将这个数组转换成一个关联数组,以便日期成为数组的键。

Array (
    [0] => Array (
            [start_date] => 2018-03-27
            [start_time] => 10:00:00
        )
    [1] => Array (
            [start_date] => 2018-03-28
            [start_time] => 11:00:00
        )
    [2] => Array (
            [start_date] => 2018-03-28
            [start_time] => 12:00:00
        )
)

如何在循环中绕过数组以从中获取下一个数组?

$arr = array(
    "2018-03-28" => array(
        "0" => array(
            "start_time" => "11:00:00",
        ),
        "1" => array(
            "start_time" => "12:00:00",
        )
    )
    "2018-03-27" => array(
        "0" => array(
            "start_time" => "10:00:00",
        )
    )
);

1 个答案:

答案 0 :(得分:0)

您可以循环遍历数组并使用存储在以日期键入的元素中的时间填充新数组:

scanf

这给了你:

<?php

$arr = [
    0 => ['start_date' => '2018-03-27', 'start_time' => '10:00:00'],
    1 => ['start_date' => '2018-03-28', 'start_time' => '11:00:00'],
    2 => ['start_date' => '2018-03-28', 'start_time' => '12:00:00'],
];

$dates = [];
foreach ($arr as $arrItem) {
    $dates[$arrItem['start_date']][] = $arrItem['start_time'];
}

print_r($dates);
?>