在php中对多维arry进行排序

时间:2017-04-18 18:46:33

标签: php arrays sorting multidimensional-array

我在php下面有多维数组

$myarray[] = array(
    'sqldate'  => $sqldate,
    'posttime' => $posttime,
    'sqldate1' => $sqldate1,
    'head'     => $headl,
    'story'    => $story,
    'source'   => $tekstsource,
    'http'     => $http,
    'feed'     => $feed,
    'F',
    'ftypeT'   => $ftypeT,
);

在&time;'

上对此数组进行排序的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

@Ivanivan建议:

function cmp($a, $b)
{
    if ($a['posttime'] == $b['posttime']) {
        return 0;
    }
    return ($a['posttime'] < $b['posttime']) ? -1 : 1;
}

usort($myarray, "cmp");

这是更好的解决方案。即使其他答案有效,也请测试一下。

答案 1 :(得分:-1)

@ivanivan建议将usort()与自己的比较功能结合使用。这是优雅的解决方案。

这是另一个解决方案:)

$helper = [];
foreach ($myarray as $key => $row) 
    $helper[$key] = $row['posttime'];
sort($myarray);
$sorted = [];
foreach ($helper as $key => $value)
    $sorted[] = $myarray[$key];