Php 查找和标记二维数组中三个值中的最大值

Php 查找和标记二维数组中三个值中的最大值,php,arrays,Php,Arrays,我正在办公室的显示屏上工作,我似乎想不出一个好办法来在二维数组中的一组数据中找到最大的数值。我已经研究过使用max()和asort(),但它们似乎无法处理二维数组 Array( [0] => Array( [am] => 12, [sales] => 981), [1] => Array( [am] => 43, [sales] => 1012), [2] => Array( [am] => 17, [sales] =

我正在办公室的显示屏上工作,我似乎想不出一个好办法来在二维数组中的一组数据中找到最大的数值。我已经研究过使用max()和asort(),但它们似乎无法处理二维数组

Array(
 [0] => Array(
  [am] => 12,
  [sales] => 981),
 [1] => Array(
  [am] => 43,
  [sales] => 1012),
 [2] => Array(
  [am] => 17,
  [sales] => 876)
)
我通过mysql类返回数据,因此行以二维数组返回

Array(
 [0] => Array(
  [am] => 12,
  [sales] => 981),
 [1] => Array(
  [am] => 43,
  [sales] => 1012),
 [2] => Array(
  [am] => 17,
  [sales] => 876)
)
在为具有最高销售价值的AM查询表中的数据时,我需要输出一个类。缺少在>if语句中对它们进行比较。我尝试在数组上获取max(),但它返回一个数组,因为它在维度中的外观。当将其指向特定维度时,它返回键而不是值

我想我可以将数组插入()并弹出顶部值,将其存储在一个变量中,然后与foreach()循环中的值进行比较,但在两个维度上排序似乎有困难

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

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



我知道这不是您想要的答案,但您不能通过sql选择最大值吗?除此之外,我认为您唯一的选择是通过数组在变量循环中存储最大值,如果当前值更大,则替换最大值,如果您理解我的话。如果您感兴趣,我将提供一个答案来说明这一点。我可以使用sql选择它,但我使用客户经理id的顺序来保持用户的正确顺序。因为我每个AM有三个统计数据,所以我用它来确保当我循环它们时,它们都是正确的顺序!可能是轻微的哈克斯;)+1但是数组键需要加引号,否则PHP将把它们作为常量计算。