Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中按值对多维数组排序_Php_Arrays_Sorting_Multidimensional Array - Fatal编程技术网

在PHP中按值对多维数组排序

在PHP中按值对多维数组排序,php,arrays,sorting,multidimensional-array,Php,Arrays,Sorting,Multidimensional Array,我有一个从mysql数据库表中提取的数组,类型为。我想把它按特定的价值排序 $arr1=array(array(12, 8, 5, 34), array(54, 87, 32, 10), array(23, 76, 98, 13), array(53, 16, 24, 19)); 如何按值排序? 如按第二个值排序,结果应为 $arr1=array(array(12, 8, 5, 34), array(53, 16, 24, 19)

我有一个从mysql数据库表中提取的数组,类型为。我想把它按特定的价值排序

$arr1=array(array(12, 8, 5, 34),
        array(54, 87, 32, 10),
        array(23, 76, 98, 13),
        array(53, 16, 24, 19));
如何按值排序? 如按第二个值排序,结果应为

$arr1=array(array(12, 8, 5, 34),
        array(53, 16, 24, 19),
        array(23, 76, 98, 13),
        array(54, 87, 32, 10));
我喜欢用它来解决这些问题

$sortKey = 1;
usort($arr1, function($a, $b) use($sortKey){
    return $a[$sortKey] - $b[$sortKey];
});

同意@RocketHazmat,是皇室背后的痛苦
usort
更容易理解,但我想我还是要试试:

$sortKey = 1;
array_multisort(array_map(function($v) use($sortKey){
    return $v[$sortKey];
}, $arr1), $arr1);
只花了20分钟…:(


这里有一个:

可能的重复项,如果你从数据库中获取它,数据库可能会为你做得更快……是你的朋友。@Wrikken:
array\u multisort
是我从未完全弄清楚如何使用的函数之一。