我有一系列没有任何排序的城镇。我想按省的 [category][3] 排序,然后按地区的 [category][0] 排序,并显示每个分组的省及其地区,然后是其下的城镇。所以下面的数组:
Array
(
    [0] => Array
        (
            [name] => Name One
            [id] => 1
            [link] => http://mylink1.com
            [category] => Array
                (
                    [0] => Region 1
                    [1] => Town 7
                    [2] => Country
                    [3] => Province 2
                )    
        )
    [1] => Array
        (
            [name] => Name Two
            [id] => 2
            [link] => http://mylink2.com
            [category] => Array
                (
                    [0] => Region 1
                    [1] => Town
                    [2] => Country
                    [3] => Province 3
                )    
        )
    [2] => Array
        (
            [[name] => Name Three
            [id] => 3
            [link] => http://mylink3.com
            [category] => Array
                (
                    [0] => Region 1
                    [1] => Town 5
                    [2] => Country
                    [3] => Province 2
                )
        )
    [6] => Array
        (
            [name] => Name Four
            [id] => 4
            [link] => http://mylink4.com
            [category] => Array
                (
                    [0] => Region 1
                    [1] => Town 1
                    [2] => Country
                    [3] => Province 1
                )
        )
)
...最终应该看起来像这样:
Country (all the same)
Province 1
- Region 1
- - Town 1 name, id, link
Province 2
- Region 1
- - Town 5 name, id, link
- - Town 7 name, id, link
Province 3
- Region 1
- - Town 1 name, id, link
省是主要分组因素,然后按地区排序,城镇没有特别的顺序,但我想按字母顺序是有意义的。
我已经设法使用此引用按类别对数组进行排序:按值排序多维数组,但无法理解如何在不使用其名称在循环中专门引用该省的情况下进一步排序。IE
/// shortened version..
foreach($array as $key=>$value)...
   if($value == "Province 1") : do something here with these matches
     ... etc
任何帮助,将不胜感激。