简体   繁体   English

如何从 2 个字段对数组进行排序?

[英]How can I sort an array from 2 fields?

I have the following format of an array我有以下格式的数组

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

How can I sort the array based on home and away teams.如何根据主队和客队对数组进行排序。

So all Brazil will come first if they are a Home or an away team.因此,无论是主队还是客队,所有巴西队都会排在第一位。

Do I need an array_multisort?我需要一个 array_multisort 吗? I've given it a try, but not getting the right results.我试过了,但没有得到正确的结果。

use usort :使用usort

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

you will need to modify return condition depending on how you want it to be sorted.您将需要根据您希望的排序方式修改return条件。

On www.php.net you can find this function:在 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);
}
? >

you can use it like this:你可以这样使用它:

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

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

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

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