开发者社区> 问答> 正文

如何在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 540 0
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
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载