【发布时间】:2012-04-05 10:06:14
【问题描述】:
我尝试搜索并找到了这个:
Sort an array by a child array's value in PHP
但该功能在我的情况下不起作用:
$sorted = array();
foreach($players as $player)
{
$p = Model::factory('user');
$p->load($player['id']);
$sorted[] = array('id' => $player['id'], 'username' => $p->get_username());
}
如何在用户名后按字母顺序对数组进行排序?
函数,
function cmp($a, $b) {
if ($a['username'] == $b['username']) {
return 0;
}
return ($a['username'] < $b['username']) ? -1 : 1;
}
然后调用 usort($sorted,"cmp");对我不起作用(出现错误未定义索引 [2])..
有没有办法选择是降序还是升序?
【问题讨论】:
-
使用正确的索引(你想要排序的值的索引)——而不是
[2] -
使用
username而不是2 -
@karem - 检查我的答案