开发者社区 问答 正文

如何在PHP中按给定键的值对关联数组进行排序?

给定此数组:

$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),

);

我怎样才能做到这一点?

展开
收起
保持可爱mmm 2020-01-14 14:51:36 547 分享 版权
1 条回答
写回答
取消 提交回答
  • 没错,您要寻找的功能是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

    2020-01-14 14:52:39
    赞同 展开评论
问答分类:
问答地址: