给定此数组:
$inventory = array(
array("type"=>"fruit", "price"=>3.50), array("type"=>"milk", "price"=>2.90), array("type"=>"pork", "price"=>5.43),
);
我想$inventory按价格对元素进行排序以获得:
$inventory = array(
array("type"=>"pork", "price"=>5.43), array("type"=>"fruit", "price"=>3.50), array("type"=>"milk", "price"=>2.90),
);
我怎样才能做到这一点?
没错,您要寻找的功能是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);
问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。