-1

我有一个数组,格式如下:

$list = [ ["fdsa","1","fdsa"],["sadf","0","asdf"],["frfrf","0","sadfdsf"] ]

如何$list根据每个内部数组的第一个值按字母顺序排列?

谢谢!

4

5 回答 5

2

我有另一个答案的这个功能,但可以修改它来做同样的事情:

// This sorts simply by alphabetic order
function reindex( $a, $b )
{
    // Here we grab the values of the 'code' keys from within the array.
    $val1 = $a[0];
    $val2 = $b[0];

    // Compare string alphabetically
    if( $val1 > $val2 ) {
        return 1;
    } elseif( $val1 < $val2 ) {
        return -1;
    } else {
        return 0;
    }
}

// Call it like this:
usort( $array, 'reindex' );

print_r( $array );

原文:根据普通数组的顺序对多维数组进行排序

于 2013-10-15T21:37:09.197 回答
1
<?php

asort($list);
// OR
array_multisort($list);

?>

PHP手册:asort()array_multisort()

于 2013-10-15T21:37:38.697 回答
1
function order($a, $b){
     if ($a[0] == $b[0]) {
            return 0;
        }
        return ($a[0] < $b[0]) ? -1 : 1;
    }

$list = [ ["fdsa","1","fdsa"],["sadf","0","asdf"],["frfrf","0","sadfdsf"] ];

    usort($list, "order");


    var_dump($list); die;
于 2013-10-15T21:41:17.917 回答
1
asort($list);

这将为您完成这项工作。

另见: http: //php.net/manual/de/function.asort.php

于 2013-10-15T21:43:16.150 回答
-1

您需要使用自己的比较函数进行排序,并将其与usort().

于 2013-10-15T21:35:52.960 回答