如何从2个字段中排序数组?

时间:2014-05-29 17:39:07

标签: php arrays sorting

我有以下格式的数组

[HomeTeam] => Brazil
[AwayTeam] => Croatia

如何根据主队和客队对阵列进行排序。

因此,如果他们是主队或客场球队,那么所有巴西队都将首先出现。

我需要一个array_multisort吗?我试了一下,但没有得到正确的结果。

任何帮助都将不胜感激。

干杯

2 个答案:

答案 0 :(得分:0)

使用usort

usort($myArray, function($a, $b) {
    return $a > $b;
});

您需要修改return条件,具体取决于您希望如何对其进行排序。

答案 1 :(得分:0)

在www.php.net上,你可以找到这个功能:

<?php
function array_orderby()
{
    $args = func_get_args();
    $data = array_shift($args);
    foreach ($args as $n => $field) {
        if (is_string($field)) {
            $tmp = array();
           foreach ($data as $key => $row)
                $tmp[$key] = $row[$field];
            $args[$n] = $tmp;
           }
    }
    $args[] = &$data;
    call_user_func_array('array_multisort', $args);
    return array_pop($args);
}
? >

你可以像这样使用它:

$sorted = array_orderby($data, 'field', SORT_ASC);

来源:: http://nl1.php.net/manual/en/function.array-multisort.php