你可以用
usort
.
usort回调函数需要-1(负数),如果
$a
是第一个。1(正数)如果
$b
是应该先走然后
0
如果订单没有变化。
例子:
面积
$A
25岁
美元
是10。
25-10 = 15
这是一个正数。所以
使用权
意志命令
美元
领先
$A
$myarray = array(
array('itemid' => '1','height'=>'5','length' => '5'),//area=25
array('itemid' => '2','height'=>'2','length' => '5'),//area=10
array('itemid' => '3','height'=>'5','length' => '3'),//area=15
);
usort( $myarray, function($a, $b){
return ( $a['height'] * $a['length'] ) - ( $b['height'] * $b['length'] );
});
echo "<pre>";
print_r( $myarray );
echo "</pre>";
这将导致:
Array
(
[0] => Array
(
[itemid] => 1
[height] => 5
[length] => 5
)
[1] => Array
(
[itemid] => 3
[height] => 5
[length] => 3
)
[2] => Array
(
[itemid] => 2
[height] => 2
[length] => 5
)
)
Doc:
usort()