代码之家  ›  专栏  ›  技术社区  ›  David Yell

二维数组中三个值中最大值的求和标记

  •  0
  • David Yell  · 技术社区  · 16 年前

    我通过mysql类返回数据,所以行以二维数组的形式返回。

    Array(
     [0] => Array(
      [am] => 12,
      [sales] => 981),
     [1] => Array(
      [am] => 43,
      [sales] => 1012),
     [2] => Array(
      [am] => 17,
      [sales] => 876)
    )
    

    我需要输出一个类,当我在我的表中的数据与最高的销售价值的AM。缺少对它们的比较>if语句。我试图获取数组的max(),但它返回一个数组,因为它在维度中的外观。当它指向特定的维度时,它返回键而不是值。

    最后,我想我可以foreach()值,每次都将它们与前一个值进行比较,直到找到最大的值。然而,这种方法意味着存储每一个值,幸运的是只存储三个值,然后再与它们进行比较。

    当然,必须有一种更简单的方法来实现这一点,除了将其转换为一维数组,然后在该数组上执行asort()之外?

    1 回复  |  直到 16 年前
        1
  •  2
  •   Kolky    16 年前
    <?php
    function customSort($a, $b)
    {
        if($a['sales'] == $b['sales'])
            return 0;
        else
            return $a['sales'] < $b['sales'] ? -1 : 1;
    }
    
    usort($array, 'customSort');
    ?>
    

    这就是我要做的

    推荐文章