对嵌套数组

时间:2017-12-17 10:21:06

标签: php arrays

我有一个这样的数组:

[ ["5", "France", "Paris", "..."], ["7", "UK", "London"], ["1", "..."], ["8", "..."] ]

现在我需要对这一个数组进行排序,以便各个条目按顺序排列:

[ ["1", "..."], ["5", "France",  "Paris"], ["7", "UK", "London"], ["8", "..."] ]

我将如何在PHP中使用它?

@YourCommonSense所指的另一个答案是用Java而不是用PHP

2 个答案:

答案 0 :(得分:0)

您不需要jQuery在Javascript中执行此操作

var arr = [ ["5", "France", "Paris", "..."], ["7", "UK", "London"], ["1", "..."], ["8", "..."] ]
console.log(arr);
arr.sort((el1,el2) => {
    return el1[0] - el2[0];
});

// Non-ES6 equivalent
arr.sort(function(el1,el2) {
    return el1[0] - el2[0];
});

console.log(arr);

输出:

[["5", "France", "Paris", "..."], ["7", "UK", "London"], …]
[["1", "..."], ["5", "France", "Paris", "..."], ["7", …], …]

答案 1 :(得分:0)

面向PHP的一个解决方案

usort($array, function($a, $b){
    return strcmp($a[0], $b[0]);
});
print_r($array);

结果

  

阵列(       [0] =>排列           (               [0] => 1               [1] => ...           )

[1] => Array
    (
        [0] => 5
        [1] => France
        [2] => Paris
        [3] => ...
    )

[2] => Array
    (
        [0] => 7
        [1] => UK
        [2] => London
    )

[3] => Array
    (
        [0] => 8
        [1] => ...
    ) )