duanpu4143 2018-02-20 02:30
浏览 19
已采纳

按字母顺序排列嵌套数组

How can I sort both arrays alphabetically?

I've tried to sort it but it only does the top level array and not the location array.

  $tmp = array();

  foreach($clients as $arg) {
    $tmp[$arg['contract']][] = $arg['location'];
  }

  $output = array();

  foreach($tmp as $type => $labels) {
    $output[] = array(
        'contract' => $type,
        'location' => $labels
    );
  }

  //sort the top array alphabetically
  sort($output);

This is an example of some of the output:

Array
(
    [0] => Array
        (
            [contract] => Aldi
            [location] => Array
                (
                    [0] => Pembroke Dock
                    [1] => Haverfordwest
                    [2] => Cardigan
                    [3] => Carmarthen
                    [4] => Tewksbury
                    [5] => Taunton
                    [6] => Cardiff
                    [7] => Bridgend
                    [8] => Port Talbot
                    [9] => Cullompton
                    [10] => Honiton
                    [11] => Bridgewater
                )

        )

    [1] => Array
        (
            [contract] => Babel
            [location] => Array
                (
                    [0] => Cheltenham
                )

        )

展开全部

  • 写回答

1条回答 默认 最新

  • drzfnr0275 2018-02-20 02:35
    关注

    Since you already use a foreach, we'll use this one to sort your location array :

     foreach($tmp as $type => $labels) {
        sort($labels);
        $output[] = array(
            'contract' => $type,
            'location' => $labels
        );   
     }
    
     sort($output);
    

    like that your both array will be sort

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部