dsfdgdsfd23212 2014-06-14 22:30
浏览 74
已采纳

从foreach循环中对迭代进行排序

I have an array with user names:

$a = array('user1','user2');

I want to use them to output the users' information in a list, but I need it sorted by their name, which I pull from the database within the foreach loop that lists them. How do I sort it?

foreach($a as $b) {
    $user = $users->getUser($b); // gets user's details from the database
    $name = $user['name']; // I want the list to be sorted by this variable
    echo $name.'<br />';
}

The names aren't unique, for example user1 and user1 might both be named John Smith. Only the usernames are unique.

  • 写回答

2条回答 默认 最新

  • douzen3516 2014-06-14 22:44
    关注

    This should work. Now it sorts by the name key and loops through the users in a second loop.

    function sortByName($a, $b) {
        if($a['name'] !== $b['name'])
            return ($a['name'] > $b['name']) 1 : -1;
    }
    
    $a = array('user1','user2');
    $userList = array();
    
    foreach($a as $b) {
        $userList[] = $users->getUser($b);
    }
    
    usort($userList, 'sortByName');
    
    foreach($userList as $person) {
        echo $person['name'];
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站