我有一个像:
这样的数组$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'] );
} );
答案 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'] );
} );