从这个数组开始:
$TEST=array (
0 => array ( 0 => 'b', 1 => 'y', 2 => 'O', ),
1 => array ( 0 => 'a', 1 => 'z', 2 => 'O', ),
2 => array ( 0 => 'c', 1 => 'x', 2 => 'O', ),
)
如何排序?(基于第二个元素的xyz):
$TEST=array (
2 => array ( 0 => 'c', 1 => 'x', 2 => 'O', ),
0 => array ( 0 => 'b', 1 => 'y', 2 => 'O', ),
1 => array ( 0 => 'a', 1 => 'z', 2 => 'O', ),
)
简单的结果asort($TEST)
是(基于第一个元素的abc):
$TEST=array (
1 => array ( 0 => 'a', 1 => 'z', 2 => 'O', ),
0 => array ( 0 => 'b', 1 => 'y', 2 => 'O', ),
2 => array ( 0 => 'c', 1 => 'x', 2 => 'O', ),
)
您可以使用以下一行代码来做到这一点:
array_multisort( array_column($yourArray, $index), SORT_ASC, $yourArray );
在您的情况下,这是使用方法:
$TEST=array (
0 => array ( 0 => 'b', 1 => 'y', 2 => 'O', ),
1 => array ( 0 => 'a', 1 => 'z', 2 => 'O', ),
2 => array ( 0 => 'c', 1 => 'x', 2 => 'O', ),
)
array_multisort( array_column($TEST, 1), SORT_ASC, $TEST );
print_r($TEST);
在此处检查array_multisort http://php.net/manual/zh/function.array-multisort.php
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句