dtdfj08626 2015-05-04 14:58 采纳率: 0%
浏览 15

在数组中显示min()值

I want to display 10 highest figure and 10 lowest figure in a multi-dimensional array.
I have figured out way to display the maximum figure using max(), but when I use min(), the least less value get looped again and again for 10 times e.g 2.

How can I reuse my code to display minimum value in my array?

  $totalCustomer = count($customerArray);
$postion = 0;
foreach ($customerArray as $custom) {
    $postion = $postion + 1;
    if($totalCustomer - $postion < 9){
        $top[] = $custom['spend'];
        $maxprice = max($top);

        echo "Max spend price is ". $maxprice. "<br>";
    }                              
}                
  • 写回答

2条回答 默认 最新

  • duancashi1362 2015-05-04 15:50
    关注

    I would use usort:

    /* Sort the array the value of 'spend' */
    usort($customerArray, function($a, $b) {
        if($a['spend'] == $b['spend']) {
            return 0;
        } else if ($a['spend'] > $b['spend']) {
            return -1;
        } else {
            return 1;
        }
    });
    
    /* The top 10 elements are now on top of the array */    
    $top = array_slice($customerArray, 0, 10);
    
    /* If we reverse the array using array_reverse() the 
       smallest items are on top */
    $low = array_slice(array_reverse($customerArray), 0, 10);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集