我有这个数组:
array
0 =>
array
'action_operator' => string 'by_fixed' (length=8)
'action_amount' => string '10.0000' (length=7)
'sort_order' => string '0' (length=1)
1 =>
array
'action_operator' => string 'by_percent' (length=10)
'action_amount' => string '10.0000' (length=7)
'sort_order' => string '1' (length=1)
...
我想根据sort_order键对其进行排序,从最低位置开始(在本例中为0)。我知道我可以迭代等等,但最简单的代码是什么呢?
谢谢:)
答案 0 :(得分:5)
<?php
usort( $aData, function( $a, $b ) {
return ($a['sort_order'] < $b['sort_order'] ? 1 : -1);
} );
使用PHP7,您应该能够使用太空飞船运营商:
usort( $aData, function( $a, $b ) {
return $a['sort_order'] <=> $b['sort_order'];
} );
答案 1 :(得分:1)
使用usort的单行:
usort($array, function($a, $b) { return $a['sort_order'] - $b['sort_order']; });