繁体   English   中英

在PHP中使用日期作为键对多维数组进行排序

[英]Sort a multi dimensional array with dates as keys in PHP

我已经将日期转换为Unix时间戳数组,如下所示。

Array
(
    [ONE] => Array
        (
            [1460581200] => 
            [1460667600] => 
            [0] => 
        )

    [TWO] => Array
        (
            [1465506000] => 
            [1468184400] => 
            [0] => 
            [1470949200] => 
        )

)

我想将日期安排在此数组内,以便它们可以降序排列而不会影响主数组键。

我也想将[0](表示日期不存在)放在最前面。

试试这个代码:

<?php

$array = Array
(
    'ONE' => Array
        (
            '1460581200' => 'aaa',
            '1460667600' => 'bbb',
            '0' => 'ccc',
        ),
    'TWO' => Array
        (
            '1465506000' => 'ddd',
            '1468184400' => 'eee',
            '0' => 'fff',
            '1470949200' => 'ggg',
        )
);


function sortByKeys($array)
{
    $result = array();
    if(isset($array[0]))
    {
        $result[0] = $array[0];
        unset($array[0]);
    }

    krsort($array);

    return $result + $array;
}

$result = array_map('sortByKeys',$array);

print_r($result);

工作实例

暂无
暂无

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

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