如何按键/值排序PHP数组"姓氏,名字"?

时间:2017-04-04 15:00:30

标签: php arrays sorting

我有一个像:

这样的数组
$players[124] = array(
    'name'   => 'Moss, Randy'
    'number' => 84
);

$players[864] = array(
    'name'   => 'Carter, Chris',
    'number' => 80
);

我想按姓氏和名字对数组进行排序。我必须在数组中使用的是"姓氏,名字和#34;。

这是我认为会产生预期效果的排序方法,然而,它似乎没有做到这一点。为什么这不起作用?我能做些什么才能做到这一点?

uksort( $players, function ( $a, $b ) {
    return strcasecmp( $a['name'], $b['name'] );
} );

1 个答案:

答案 0 :(得分:2)

使用usort代替uksort

usort( $players, function ( $a, $b ) {
    return strcasecmp( $a['name'], $b['name'] );
} );

如果您想维护密钥关联,请使用uasort

uasort( $players, function ( $a, $b ) {
    return strcasecmp( $a['name'], $b['name'] );
} );