给定此数组:
$inventory = array( array("type"=>"fruit", "price"=>3.50), array("type"=>"milk", "price"=>2.90), array("type"=>"pork", "price"=>5.43), );
我想$inventory按价格对元素进行排序以获得:
$inventory
$inventory = array( array("type"=>"pork", "price"=>5.43), array("type"=>"fruit", "price"=>3.50), array("type"=>"milk", "price"=>2.90), );
我怎样才能做到这一点?
没错,您要寻找的功能是array_multisort()。
array_multisort()
以下是直接取自手册并适合您的情况的示例:
$price = array(); foreach ($inventory as $key => $row) { $price[$key] = $row['price']; } array_multisort($price, SORT_DESC, $inventory);
从PHP 5.5.0开始,您可以使用array_column()代替foreach
$price = array_column($inventory, 'price'); array_multisort($price, SORT_DESC, $inventory);